链表实现代码
发布时间:2020-12-16 07:48:43 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include #include typedef struct Node { int data; struct Node* next; }*List; void Initialization(List p)//初始化 { p-data=0; p-next=NULL; }
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #include #include typedef struct Node { int data; struct Node* next; }*List; void Initialization(List p)//初始化 { p->data=0; p->next=NULL; } void Add(List p)//添加 { p->data++; while(p->next!=NULL) p=p->next; List pNext=new struct Node; //p=(List)malloc(sizeof(struct Node)); scanf("%d",&pNext->data ); pNext->next=NULL; p->next=pNext; } void Show(List p)//输出 { p=p->next; while(p!=NULL) { printf("%dn",p->data); p=p->next; } } void Insert(List p,int index,int e)//插入 { if(index>p->data) { p->data++; while(p->next !=NULL) p=p->next; List pNext=new struct Node; pNext->data=e; pNext->next=NULL; p->next=pNext; } else { puts("2n"); p->data++; for(int i=0;inext; List NEW=new struct Node; NEW->data=e; NEW->next=p->next; p->next=NEW; } } void Sort(List p) //排序 { List x,y; int len=p->data; for(int i=0;inext; x=p; y=p->next; for(int j=i+1;jdata>y->data ) x=y; y=y->next; } int tmp; if(x->data!=p->data ) { tmp=p->data; p->data=x->data; x->data=tmp; } } } int main() { List pos; pos=new struct Node; Initialization(pos); for(int i=0;i<3;++i) Add(pos); Insert(pos,2,90); Show(pos); Sort(pos); Show(pos); return 0; } //比起上篇写的线性表加了一个排序,采用了选择排序,其他功能和线性表差不多,如果对照起来理解的话会跟清晰; 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |