北理工数据结构上机实验报告_第1页
北理工数据结构上机实验报告_第2页
北理工数据结构上机实验报告_第3页
北理工数据结构上机实验报告_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构上级实验报告1采用单向环表实现约瑟夫环一 实验目的采用单向环表实现约瑟夫环二 实验内容 请按以下要求编程实现: 从键盘输入整数m,通过create函数生成一个具有m个结点的单向环表。环表中的结点编号依次为1,2,m。 从键盘输入整数s(1=s0;m-) p = (node *)malloc(sizeof(node); if(p = NULL) exit(0); p-number = m; p-next = head-next; head-next = p; if(i)q = p ; i-; q-next = head-next; 处理链表算法实现:void deal(node * he

2、ad,int m,int s,int n)node * p,*q;int count=1,tag=0; p = head; while(s-) p = p-next; while(tag != m) if(count = n) printf(%d-,p-number); for(q = p-next; q-next != p; q=q-next); q-next = p-next; p = p-next; q = q-next; count = 1; tag+; else p = p-next;count+; printf(next = NULL; head = p; printf(pleas

3、e input number m:n); scanf(%d,&m); create(head,m); printf(please input number s(1=snext从p后节点遍历的方法能够一直正确的获得p的前一节点的位置。五 用户使用说明 双击exe程序后,软件提示依次输入m,s,n的值;m为链表总长度,为任意正整数;s为第一次定位的节点位置,其值应满足1=s=m的正整数;n为间隔的数目,为任意正整数;输入后即可获得结果。六 程序运行结果七 程序清单#include #include struct node/定义链表 int number; struct node * next;vo

4、id create(node * head,int m)/创建包含m个数字的环形表node * p,*q;int i = 1; for(;m0;m-) p = (node *)malloc(sizeof(node); if(p = NULL) exit(0); p-number = m; p-next = head-next; head-next = p; if(i)q = p ; i-; q-next = head-next;/将最后一个节点指向头结点,实现环形表void deal(node * head,int m,int s,int n)/处理链表,完成删除及输出node * p,*q;

5、int count=1,tag=0; p = head; while(s-) p = p-next;/将p指向首次定位的第s个节点 while(tag != m) if(count = n)/如果正好数到n值,则进行输出、删除操作并重置计数器 printf(%d-,p-number); for(q = p-next; q-next != p; q=q-next); q-next = p-next; p = p-next; q = q-next; count = 1; tag+; else p = p-next;count+;/如果没有到n值,则继续循环链表 printf(next = NULL; head = p;/定义头结点 printf(please input number m:n); scanf(%d,&m);/输入m值链表长度 create(head,m);/创建该链表 printf(please input number s(1=s=m):n); scanf(%d,&s);/输入s值首次定位节点 printf(please

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论