下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、设有一个线性表 E=e1, e2,,en-1, en,设计一个算法,将线性表逆置,即使元素排 列次序颠倒过来,成为逆线性表E = en , en-1,e2 , el ,要求逆线性表占用原线性表 空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置)线性表:#in clude#in cludetypedef char datatype;const int maxsize=1024;typedef struct datatype datamaxsize;int last;seque nlist;void create(seque nlist*&);vo
2、id prin t(seque nlist*);void in vert(seque nlist*);void mai n()seque nlist*L;create(L);printf(建立的顺序表是:”); prin t(L);in vert(L);printf(逆置后的顺序表是:”); prin t(L);void create(seque nlist*&L)L=(seque nlist*)malloc(sizeof(seque nlist);L-last=0;printf(请输入数据:”);char ch;while(ch=getchar()!=n)L_last+;L-dataL-la
3、st=ch;void prin t(seque nlist*L)for(i nt i=1;ilast;i+)prin tf(%2c,L-datai);prin tf(n);void in vert(seque nlist*L)int n=L-last/2;for(i nt i=1;idatai;L-datai=L-dataL-last-i+1;L-dataL-last-i+1=temp;链表:#in clude #i nclude#i nclude typedef struct nodeint data;struct node *n ext;Li nkNode, *Li nkList;Lin
4、kList Creat(L in kList head); void In verse(L in kList head); void Output(L in kList head);Lin kList Creat(Li nkList head)/ 头插法建表char ch;Li nkList p = NULL;Lin kList q = NULL;head = (Lin kList) malloc (sizeof(L in kNode); head- next = NULL;q = head;while (ch=getchar()!=n)p = (Lin kList) malloc (size
5、of(L in kNode); p-data=ch;p_n ext=q _n ext;q_n ext = p;retur n head;void Inverse(LinkList head)/ 逆置 Lin kList p = head-n ext;Lin kList tmp = NULL;head- next = NULL;while (p!=NULL )tmp = p_n ext;p-n ext = head-n ext; head-next = p;p = tmp; void Output(LinkList head)/ 输出Lin kList p = head-n ext; while
6、 (p!= NULL)prin tf(%d , p-data);p = p-n ext;prin tf(n); int mai n(void)Lin kList head = NULL;head = Creat(head);printf(建立的单链表是:); Output(head);In verse(head);printf(逆置后的单链表是:); Output(head);system(pause);return 0;2、将两个非递减的有序链表合并为一个非递减的有序链表。要求结果链表仍使用原来两个 链表的存储空间,不另外占用其它的存储空间。表中允许有重复的数据。#in cludeusing
7、 n amespace std;typedef int ElemType;/两个递增的链表合并成递增的链表。typedef struct LNodeElemType data;struct LNode *n ext;LNode;typedef LNode *Lin kList;void CreatList(Li nkList & L,i nt n)Lin kList p,q;L=new LNode;L- next=NULL;q=L;cout请从小到大输入链表的元素:;for (int i=1;i p-data;p_n ext=q _n ext;q_n ext=p;q=q_n ext;coutn
8、 ext;for (int j=1;j=n ;j+)coutdatan ext;coutn ext;pb=B-n ext;/C=t=A;/ Awhile (pa|pb)if (!pb|(pa&pb)&(pa-datadata) Illi将A的元素插入新表pc=pa;q=pa-n ext;pa-n ext=pre;pa=q;elsepc=pb;q=pb-n ext;pb-n ext=pre;pb=q; II将B的元素插入新表pre=pc;coutn ext=pc;pa=pc;for (int j=1;j=n ;j+)coutdatan ext;coute ndl;getchar();void mai n()Li nkList A,B,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-病案归档管理制度
- 骨科患者的康复护理创新
- 2026年天津市汉沽区名校初三3月期初联考(温州八校)数学试题含解析
- 江西省赣州市名校2026届下学期第一次大考物理试题含解析
- 湖南省邵阳市郊区2026届初三下学期学业质量阳光指标调研物理试题试卷含解析
- 江苏省无锡市华士片2025-2026学年中考第一次模拟测试物理试题试卷含解析
- 山东省滨州市博兴县2026届初三年级第十一次网考数学试题含解析
- 广东省高州市九校2025-2026学年初三下学期四调考试物理试题含解析
- 高中语文《百合花》课件+统编版高一语文必修上册
- 审计局严格落实考勤制度
- 桥梁项目汇报内容
- 人教版新教材小学二年级《数学》上册新教材解读课件
- 新工科大学英语 课件 Unit 1 Future by design;Unit 2 Living smarter,living better
- 2025年路桥专业中级试题及答案
- 纺织厂5S管理课件
- 乡风文明建设课件
- 毕业设计(论文)-水下4自由度抓取机械臂设计-scara机器人
- HSK4标准教材课件
- 云南省中药材产地加工(趁鲜切制)指导原则、品种目录、风险提示清单、中药材质量标准制定指导原则
- 金融风控模型建设及管理规范
- 《陶瓷工艺概览:课件中的釉料组成与特性》
评论
0/150
提交评论