我有一个作业,必须在C中的单链接列表上使用insertSort算法。已经提供了用于插入和打印列表的功能。
struct le{
int value;
struct le *next;
};
typedef struct le listenelement;
typedef listenelement *list;
void insert(int v, list *l){
listenelement *new;
new = malloc(sizeof(listenelement));
new->value = v;
new->next = *l;
*l = new;
因此,我尝试了很多次,并且尝试了不同的版本,但从未奏效。这是我到目前为止的内容:
void sort(list *l, int m){
struct le *list = NULL;
struct le *m = *l;
while(m != NULL){
struct le *next = m->next;
insert(&list, m);
m = next;
}
*l = list;
}
m是(正含0)数字的参数。如果m为负数,则应忽略负号,并且仍由insertSort算法排序。 目前,主要问题是insertSort算法本身和负数较少。