西安邮电大学(计算机学院)数据结构课内实验报告实验名称:线性表的应用专业名称:电子商务班级:学生姓名:学号(8位):指导教师:实验日期:,并学会线性表的基本应用和两种存储结构的实现实验环境VC++:编号为1、2、3…..,按顺时针坐在一张圆桌周围,每人持有一个密码,一个人选任意正整数为报数上限m,从第一个人开始报数报到m时停止报数,这个人出列,直到所有的人都出列,游戏结束。用线性表的内容来实现这个程序。:建立n个节点的无头循环链表。第二步:从链表的第一个节点开始计数,直到寻找到第m个节点第三步:输出该节点的id值,并将其password值,作为新的m值第四步:根据新的m值,继续删除节点,直到循环链表为空,(3组)及运行结果;第一组:测试数据:9、5、2、3、4、1运行结果截图为:第二组:测试数据:5、2、6、1、2、3、4运行结果截图:第三组:测试数据:3、2、1、6、9运行结果截图:(2组)及运行结果。第一组:测试数据:1、0、2、0运行结果截图为:第二组:测试数据:0、0、0、0、0运行结果截图为::源代码(电子版)#include<>#include<>typedefstructnode{ intid; intpassword; structnode*next;}lnode,*list;listcreat2(){ lnode*head,*p,*q; intm,n=2; head=(lnode*)malloc(sizeof(lnode)); head->next=NULL; q=head; printf("pleaseinputtheinitialpassword:"); scanf("%d",&m); head->password=m; head->id=1; printf("pleaseinput(password):"); scanf("%d",&m); while(m!=-1) { p=(list)malloc(sizeof(lnode)); p->password=m; p->id=n; q->next=p; q=p; printf("pleaseinput(password):"); scanf("%d",&m); n++; } p->next=head; returnhead;}voidprint(lnode*q){ lnode*p; printf("%4d,%4d\n",q->id,q->password); p=q->next; while(p!=q) { printf("%4d,%4d\n",p->id,p->password); p=p->next; } printf("\n");}listfront(listq){ listp; p=q->next; while(p->next!=q) p=p->next; returnp;}voiddeletee(listq){ listp,r; inti,m=q->password; p=q; while(p->next!=p) { i=1; while(i!=m) { p=p->next; i++; } printf("%4d,%4d\n",p->id,p->password); p=front(p);r=p->next; p->next=r->next; m=r->password;free(r); p=p->next; } printf("%4d,%4d\n",p->id,p->password);}voidmain(){ listhead; head=creat2();printf("========打印队列原有情况==========\n"); print(head); printf("==========打印出队情况==========\n"); deletee(head);}西安邮电大学(计算机学院)数据结构课内实验报告实验名称:栈和队列的应用专业名称:电子商务班级:学生姓名:学号(8位):指导教师:衡霞实验日期:、实验目的掌握栈和队列的基本操作,实现栈或队列的基本应用2、实验环境VC++:建立一个顺序栈第二步:输入字符串的时候入栈第三步:出栈时也保存到一个数组中第四步:(3组)及运行结果;第一组:测试数据:1、2、3运行结果:第二组:测试数据:a、
西安邮电大学计算机学院数据结构课内实验报告(线性表的应用) 来自淘豆网www.taodocs.com转载请标明出处.