链表 插入排序
参考了几个网上例子,验证后发现,不是最后几个元素会产生环,要么就是排序后不是稳定的(相同key值的元素,会意外改变顺序) 最后自己写了个例子,用了2种方法写基于链表的插入排序, #include <stdio.h> #include <stdlib.h> #define null 0 struct node; struct node{ struct node * n; void * d; int k; int val; }; typedef struct node nod; struct node* init( int size, int * val){ struct node *head = malloc ( sizeof ( struct node)); struct node *c = head; head ->k = 0 ; for ( int i = 0 ; i < size; i++ ){ struct node *n= malloc ( sizeof ( struct node)); n ->k = val[i]; n ->val = i; c ->n = n; c = n; } c =head-> n; free (head); return c; } void print_n( struct node * n){ while (n != null ){