C语言课程设计报告(约瑟夫环)胡存夫(4)

2019-01-12 12:45

沈阳航空航天大学课程设计报告

③继续选择2,输入下列数据测试: 请输入总人数n:8 请输入开始上限数m:14

请依次输入每个人的密码:3 4 5 6 7 8 9 10 出队顺序:6 7 2 8 3 5 1 4

14

沈阳航空航天大学课程设计报告

测试完成,选择0退出。.

图3.5 约瑟夫环测试3

15

沈阳航空航天大学课程设计报告

参考文献

[1] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2007. [2] 张长海,陈娟.C程序设计[M].北京:高等教育出版社,2004. [3] 谭浩强.C程序设计[M].北京:清华大学出版社,2005..

[4]严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.

[5]《DATA STRUCTURE WITH C++》. William Ford,William Topp .清华大学出版社(影印版).

附 录(关键部分程序清单)

程序代码 {

#include //输入输出函数头文件

#include //字符串转短整形函数的头文件10140219 //

typedef struct LNode//定义单循环链表中节点的结构 {

int num;//编号 int pwd;//password

struct LNode *next;//指向下一结点的指针

}LNode; /*构造结点*/

LNode *createNode(int m_num,int m_pwd) {

LNode *p;

p=(LNode *)malloc(sizeof(LNode));//生成一个结点

16

沈阳航空航天大学课程设计报告

}

p->num=m_num;//把实参赋给相应的数据域 p->pwd=m_pwd;

p->next=NULL;//指针域为空 return p;

/**创建循环链表**/

void createList(LNode **ppHead,int n)

{/*创建单向循环链表ppHead,人数个数为n,并输入每个人的密码值,若 建立失败则生成头结点,让cur指向他,若建立成功则插入结点P,cur指 向的数据元素为p,后续为\空\的节点,再把P插入循环链表ppHead中*/

int i,m_pwd;

LNode *p,*cur;//cur:浮标指针 for(i=1;i<=n;i++) {

printf(\输入第%d个人的密码:\scanf(\输入持有密码 p=createNode(i,m_pwd);//调用构造结点函数 if(*ppHead==NULL)//如果头结点为空 { }

else//如果不为空,则插入结点 {

p->next = cur->next; cur->next = p;

cur= p;//cur指向新插入结点

*ppHead=cur=p;//生成头结点,让cur指向他 cur->next=*ppHead;//cur的指针域指向自身

17

沈阳航空航天大学课程设计报告

}

}

}

printf(\完成创建!\\n\提示链表创建完成

/*出队处理*/

void jose(LNode *ppHead,int m_pwd)

{/*p指向要删除节点的前一个节点,ppHead指向要删除的节点,使p=ppHead,ppHead再指向要删除节点的下一个节点,使p和ppHead链接,输出p指向节点的编号和密码值,释

放ppHead,如此循环,直至把所有节点都打印和删除为止!*/

int i,j;

LNode *p,*p_del;//定义指针变量 for(i=1;p!=ppHead;i++){

for(j=1;j

p->next = ppHead->next;//p结点与头结点链接 i=ppHead->pwd;//i赋值为ppHead->pwd

j=ppHead->num;//j赋值为ppHead->num,j为要删除的密码值 printf(\第%d个人出列,密码:%d\\n\

m_pwd=ppHead->pwd;//m_pwd赋值为ppHead->pwd free(ppHead);//释放头结点

ppHead=p->next;//ppHead重新赋值给p->next,即释放前的ppHead->pwd指

p=ppHead;//p赋值为ppHead,p指向要删除结点的前一个结点 ppHead=ppHead->next;//ppHead指向下一个元素

针//删除报数结点

}

i=ppHead->pwd;//i赋值为ppHead->pwd j=ppHead->num;//j赋值为ppHead->num

18


C语言课程设计报告(约瑟夫环)胡存夫(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生理试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: