您的位置:首页 > 其它

链表插入排序

2015-08-11 21:28 471 查看
#include <stdio.h>
#include <stdlib.h>
typedef struct node *link;
struct node{
int item ;
link next;
};

void visitData(link x){
link t;
for( t=x ; t != NULL ; t = t -> next)
printf("%d\n",t->item);
}

void createSortedLink(int length){
struct node heada , headb;
link t, u, x, a = &heada, b;
int i;
for ( i = 0 , t = a ; i <length ; i++){
t -> next = (link)malloc(sizeof *t);
t = t -> next ;
t -> next = NULL;
t -> item = rand() % 1000;
}
visitData(a);
printf("----------------");
b = &headb ; b->next = NULL;
for(t = a->next; t != NULL; t = u ){
u = t->next;
for(x = b; x->next !=NULL; x = x->next)
if(x->next->item > t->item)break;
t->next = x->next; x->next = t;
}

visitData(b);

}

main(){
createSortedLink(8);

}
程序运行结果:
<img src="http://img.blog.csdn.net/20150811212950078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: