文本内容:
链表排序算法语言C实现#includestdio.h#define TRUE1#define FALSE0typedef intDataType;typedef struct node{DataType data;//数据域structnode*next;//指针域}Node,*NodePtr;//创建节点NodePtrcreateNodeDataType x{NodePtr p=NodePtrmallocsizeofNode;p-data=x;p-next=NULL;return p;}//尾插法建立单链表voidtaillnsert NodePtrh,DataType x{NodePtr s=createNode x;〃先创建一个节点NodePtr p=h;whilep-next!=NULL{p=p-next;}p-next=s;}//单链表排序void1inkSort NodePtrh{NodePtr p,q;DataType tmp;forp=h-next;p!=NULL;p=p-next{forq=p-next;q!=NULL;q=q-next{ifp-dataq-data{tmp=p-data;p-data=q-data;q-data=tmp;}}}}//遍历单链表void traversalNodePtrh{NodePtr p;p=h-next;whilep!=NULL{printf z/%d/z,p-data;p=p-next;}}int main{NodePtr head;head=createNode0;〃创建头节点taillnserthead,1;taillnserthead,33;taillnsert head,22;taillnsert head,3;printf〃未排序前〃;traversal head;1inkSort head;〃调用排序函数printf〃。
个人认证
优秀文档
获得点赞 0