数据结构单链表及插入删除C语言
#include
typedef struct LinkLode{ int data; struct LinkLode* link; }LinkLode; int length;
void show(LinkLode* first) { first=first->link; while(first->link!=NULL) { printf(\ first=first->link; } printf(\}
LinkLode* newLode(int data) { LinkLode *newLode; newLode=(LinkLode *)malloc(sizeof(LinkLode)); newLode->data=data; newLode->link=NULL; return newLode; }
void createList(LinkLode* first) { LinkLode*s1,*s2; int i=2; s2=newLode(1); first->link=s2; s1=s2; for(;i<11;i++) { s2=newLode(i); s1->link=s2; s1=s2; } length=10; s1=first->link; while(s1->link!=NULL) {
printf(\ s1=s1->link; } printf(\}
void intList(int i,int data,LinkLode* first) { LinkLode *s1=first,*s2; int i2=0; s2=newLode(data); if(i>=0&&i<=length) { while(i2link; i2++; } s2->link=s1->link; s1->link=s2; length++;
printf(\插入成功\\n\ show(first); } else
printf(\插入失败\\n\}
void delList(int i,LinkLode* first) { LinkLode* s2=first,*s1; int i1=0; if(i>0&&i<=length) { while(i1link; i1++; } printf(\删除的数为:%d,地址为%p\\n\ s1->link=s2->link; free(s2); length--; show(first); }
else
printf(\删除失败\\n\}
int main() { LinkLode* first; char c1=NULL,c2; int i,data; first = (LinkLode *)malloc(sizeof(LinkLode)); first->data=-10; first->link=NULL; createList(first); while(c1!='s') { }
printf(\插入请输入i,删除输入d,停止输入s\\n\scanf(\if(c1=='i') { printf(\请输入插入的数据和插入在第几个数后面,以空格隔开\\n\ scanf(\ intList(i,data,first); c2=getchar(); }
if(c1=='d') {
printf(\请输入删除第几个数据\\n\ scanf(\ delList(i,first); c2=getchar(); } }
return 0;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构单链表及插入删除C语言在线全文阅读。
相关推荐: