欢迎来到天天文库
浏览记录
ID:5556838
大小:149.00 KB
页数:8页
时间:2017-12-18
《bx100436周玲实验2:线性表子系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、验证性实验2:线性表子系统班级学号BX100436姓名周玲1.实验目的(1)掌握线性表的特点。(2)掌握线性表顺序存储结构和链式存储结构的基本运算。(3)掌握线性表的创建、插入、删除和显示线性表中元素等基本操作。2.实验内容(1)用结构体描述一个字符形的单向链表。(2)创建线性表;在线性表中插入元素、删除元素;显示线性表中所有元素等基本操作。(3)用if语句设计一个选择式菜单。线性表子系统*********************************************1--------建表**2--------插入**3--------删除*
2、*4--------显示**5--------查找**6--------求表长**0--------返回*********************************************请选择菜单号(0--6):3.实验程序#includetypedefstructlinknode{chardata;structlinknode*next;}linnode;linnode*head;intn;voidCreateList(){n=0;linnode*p,*s;charx;intz=1;head=newlinnode;p=hea
3、d;printf("tt请逐个输入结点,以“x”为结束标记!");printf("");while(z){printf("tt输入一个字符数据,并按回车:");scanf("%c",&x);getchar();if(x!='x'){s=newlinnode;n++;s->data=x;p->next=s;s->next=NULL;p=s;}elsez=0;}}voidInsList(inti,charx){linnode*s,*p;p=head;intj=0;while(p!=NULL&&jnext;}if
4、(p!=NULL){s=newlinnode;s->data=x;s->next=p->next;p->next=s;n++;}elseprintf("tt线行表为空或插入位置超出!");}voidDelList(charx)//删除结点元素{linnode*p,*q;if(head==NULL){printf("tt链表下溢!");return;}if(head->next==NULL){printf("tt线性表已经为空!");return;}q=head;p=head->next;while(p!=NULL&&p->d
5、ata!=x){q=p;p=p->next;}if(p!=NULL){q->next=p->next;deletep;n--;printf("tt结点%c已经被删除!",x);}elseprintf("tt抱歉!没有找到您要删除的结点。");}voidShowList()//显示线性表{linnode*p=head;printf("tt显示线性表的所有元素:");if(head->next==NULL
6、
7、p==NULL)printf("tt链表为空!");else{printf("tt");while(p->ne
8、xt!=NULL){printf("%5c",p->next->data);p=p->next;}}}voidSearchList(charx)//查找线性表元素{linnode*p;inti=1;if(head==NULL){printf("tt链表下溢!");return;}if(head->next==NULL){printf("tt线性表为空,没有任何结点!");return;}p=head->next;while(p!=NULL&&p->data!=x){p=p->next;i++;}if(p!=NULL)printf("
9、tt在表的第%d位置上找到值为%c的结点!",i,x);elseprintf("tt抱歉,未找到值为%c的结点!",x);}voidmain(){head=NULL;intchoice,i,j=1;charx;while(j){printf("");printf("tt线性表子系统");printf("tt********************************");printf("tt*1------建表*");printf("tt*2------插入*");printf("tt*3--
10、----删除*");printf("tt*4------显示*");printf("
此文档下载收益归作者所有