(插入有序列表)
(Inserting into an Ordered List)
我必须编写这个程序:
编写一个程序,在链表中按顺序插入 25 个从 0 到 100 的随机整数。程序应该计算元素的总和和元素的浮点平均值。
这是我到目前为止用随机词填充链表所做的,但它只是重复一个特定的整数。
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
//srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data)<<endl;
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
`>
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data);
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
重复来自代码的 randomize()
方法。
移动线
newnode = (node*) malloc(sizeof(node));
进入 randomize()
中的 for
循环。通过这种方式,您可以创建一个新节点并将其添加到列表中。
您必须考虑重写 randomize()
以创建有序列表。例如,您应该遍历当前列表并为具有随机值的新节点找到合适的位置。除了前置,您还可以附加,这对于有序链表来说非常容易。您可以在 Google.
的帮助下轻松找到示例(有序链表)
我可以发现 3 件事:
- 将 head 分配给 NULL;
节点 *head = NULL;
- 在 for 循环内移动内存分配
- 使用mod乘以101得到0到之间的随机数
100
我必须编写这个程序: 编写一个程序,在链表中按顺序插入 25 个从 0 到 100 的随机整数。程序应该计算元素的总和和元素的浮点平均值。 这是我到目前为止用随机词填充链表所做的,但它只是重复一个特定的整数。
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
//srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data)<<endl;
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
`>
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data);
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
重复来自代码的 randomize()
方法。
移动线
newnode = (node*) malloc(sizeof(node));
进入 randomize()
中的 for
循环。通过这种方式,您可以创建一个新节点并将其添加到列表中。
您必须考虑重写 randomize()
以创建有序列表。例如,您应该遍历当前列表并为具有随机值的新节点找到合适的位置。除了前置,您还可以附加,这对于有序链表来说非常容易。您可以在 Google.
我可以发现 3 件事:
- 将 head 分配给 NULL;
节点 *head = NULL; - 在 for 循环内移动内存分配
- 使用mod乘以101得到0到之间的随机数 100