【发布时间】:2019-07-29 18:52:27
【问题描述】:
我使用用户输入存储五个不同的值。并在从命令提示符插入时显示,现在我想在显示期间将output 组织为ascending 或descending 顺序。我搜索了这个,但我得到了更复杂的例子。我的代码很简单。我在学习。到目前为止,我已经做了什么,如果我可以在我的代码中实现ascending 或descending 顺序,那么它将对我更容易理解有帮助。如果可能的话,有人可以在我现有的代码中帮助我这样做。
#include <stdio.h>
struct list{
int value;
struct list *next;
};
int main(){
struct list list1[5], *c;
int i = 0;
for(i = 0; i < 5; i++){
printf("Enter value of list %d = ", i);
scanf("%d", &list1[i].value);
}
for(i = 0; i < 4; i++){
list1[i].next = &list1[i+1];
}
list1[4].next = NULL;
c = &list1[0];
while(c != NULL){
printf("List value: %d\n", c->value);
c = c->next;
}
return 0;
}
【问题讨论】:
-
可能是因为没有给list1数组的成员分配内存。修改循环并使用更传统的方式插入到链表中。
-
您希望以哪种方式组织这些值 - a) 根据顺序将它们移动到数组位置,或 b) 通过相应地更改
next指针? -
b) 通过相应地更改
next指针 -
嗨,你还在问这个问题吗??那我可以为你写代码..
-
我经历了不同的过程,但这是否可能像@Armali 在 b) 中所说的那样。
标签: c data-structures linked-list