老邱链表分册Word格式.docx

上传人:b****4 文档编号:8069987 上传时间:2023-05-10 格式:DOCX 页数:83 大小:31.62KB
下载 相关 举报
老邱链表分册Word格式.docx_第1页
第1页 / 共83页
老邱链表分册Word格式.docx_第2页
第2页 / 共83页
老邱链表分册Word格式.docx_第3页
第3页 / 共83页
老邱链表分册Word格式.docx_第4页
第4页 / 共83页
老邱链表分册Word格式.docx_第5页
第5页 / 共83页
老邱链表分册Word格式.docx_第6页
第6页 / 共83页
老邱链表分册Word格式.docx_第7页
第7页 / 共83页
老邱链表分册Word格式.docx_第8页
第8页 / 共83页
老邱链表分册Word格式.docx_第9页
第9页 / 共83页
老邱链表分册Word格式.docx_第10页
第10页 / 共83页
老邱链表分册Word格式.docx_第11页
第11页 / 共83页
老邱链表分册Word格式.docx_第12页
第12页 / 共83页
老邱链表分册Word格式.docx_第13页
第13页 / 共83页
老邱链表分册Word格式.docx_第14页
第14页 / 共83页
老邱链表分册Word格式.docx_第15页
第15页 / 共83页
老邱链表分册Word格式.docx_第16页
第16页 / 共83页
老邱链表分册Word格式.docx_第17页
第17页 / 共83页
老邱链表分册Word格式.docx_第18页
第18页 / 共83页
老邱链表分册Word格式.docx_第19页
第19页 / 共83页
老邱链表分册Word格式.docx_第20页
第20页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

老邱链表分册Word格式.docx

《老邱链表分册Word格式.docx》由会员分享,可在线阅读,更多相关《老邱链表分册Word格式.docx(83页珍藏版)》请在冰点文库上搜索。

老邱链表分册Word格式.docx

structNode*next;

//指针域

}LNode,*LinkList;

2.设有链表A和B,其中的数据内容均为整型数值,且都按增序排列,生成新的链表C、D,满足下列要求:

(1)

(C中元素为A和B的并集)

(2)D=A-B(D中元素为在A中出现但不在B中出现的元素)

且C、D元素都按增序排列。

编程要求:

输入:

键盘输入链表A的数据元素(至少5个)

键盘输入链表B的数据元素(至少5个)

输出:

屏幕分别打印链表A,B,C,D的数据元素。

3.设有链表A和B,其中的数据内容均为整型数值,且都按增序排列,生成新的链表C、D,满足下列要求:

(C中元素为A和B中都出现的元素)

(2)D中元素为A中元素的逆序排列

屏幕分别打印链表A,B,C、D的数据元素。

4.约瑟夫(Joseph)问题

[问题描述]

约瑟夫(Joseph)问题的一种描述是:

编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数),一开始任选一个整数作为报数上限m,从第一人开始按顺时针方向从自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。

[基本要求]

采用单向循环链表模拟此过程,按照出列的顺序印出各人的编号

[测试数据]

m的初值为6;

n=7,7个人的密码依次为:

3,1,7,2,4,8,4,正确的出列顺序应为6,1,4,7,2,3,5。

[实验提示]

单向循环链表的结点类型定义参照如下:

typedefstructLNode

{

  intcode;

//定义整型变量code用来存放序号

 intkey;

 //定义整型变量key用来存放密码

 structLNode*next;

}LNode,*LinkList;

5.一元多项式的相加。

利用两个带头结点的单链表La和Lb分别存储两个一元多项式A(x)和B(x),对这两个一元多项式求和,输出结果。

6.已知由一个线性链表表示的线性表中含有3类字符的数据元素(如:

字母,数字和其他字符),试编写算法将该线性链表分割为3个循环链表,其中每个循环链表均只含有一类字符。

编程要求:

键盘输入一串字符,含上述的3类字符,各类字符数目5个以上

屏幕分别打印循环链表A,B,C的元素。

7.已知线性表中的元素以值递增顺序排列,并以双向链表为存储结构。

试实现以下功能:

删除表中所有[MinNum,MaxNum]范围内的数据。

键盘输入链表的数据元素(至少5个)

键盘输入MinNum,MaxNum值

屏幕打印链表操作的结果。

/*

*/

#include<

stdio.h>

iostream.h>

stdlib.h>

typedefintElemType;

typedefstructLNode

{

structLNode*next;

//

(1).voidCreatList(LinkList&

voidCreateList(LinkList&

L,intn)

LinkListp,r;

inti;

//srand(time(0));

L=(LinkList)malloc(sizeof(LNode));

L->

next=NULL;

r=L;

for(i=0;

i<

n;

i++)

{

p=(LinkList)malloc(sizeof(LNode));

//p->

data=rand()%100+1;

cin>

>

p->

data;

r->

next=p;

r=p;

p->

}

}

//

(2).voidListPrint(LinkListLa)

voidPrintList(LinkList&

L)

LinkListp;

p=L->

next;

while(p)

cout<

<

data<

"

"

;

p=p->

cout<

endl;

//(3).voidListInsert(LinkList&

intListInsert(LinkList&

L,inti,ElemType&

e)

intj;

LinkListp,s;

p=L;

j=1;

while(p&

&

j<

i)

p=p->

++j;

if(!

p||j>

return-2;

s=(LinkList)malloc(sizeof(LNode));

s->

data=e;

next=p->

p->

next=s;

return0;

//(4).voidListDelete(LinkList&

intListDelete(LinkList&

LinkListp,q;

while(p->

next&

(p->

next)||j>

q=p->

next=q->

e=q->

free(q);

//(6).intListLength(LinkListL)//求链表L的表长

intListLength(LinkListL)

inti=0;

i++;

returni;

//(7).voidGetElem(LinkListL,inti,ElemType&

intGetElem(LinkList&

return-2;

e=p->

returne;

intmain()

LinkListL;

L=(LinkList)newLNode;

intn;

inputn:

cin>

CreateList(L,n);

PrintList(L);

intpos;

Deletepos:

pos;

ElemTypee;

ListDelete(L,pos,e);

Delete:

e<

Insertpos:

Insertelem:

e;

ListInsert(L,pos,e);

Getpos:

pos"

pos<

:

GetElem(L,pos,e)<

ListLength:

ListLength(L)<

5

12345

54321

4

5431

2

69

569431

3

pos3:

Pressanykeytocontinue

(1)(C中元素为A和B中都出现的元素)

p)

None"

return;

voidCreateSq(LinkList&

voidAUB(LinkListLa,LinkListLb,LinkList&

Lc)

LinkListpa,pb,r;

pa=La->

pb=Lb->

Lc=(LinkList)newLNode;

Lc->

r=Lc;

while(pa&

pb)

if(pa->

pb->

data)

{

p=(LinkList)newLNode;

p->

data=pa->

r->

r=p;

pa=pa->

}

elseif(pa->

data>

data=pb->

pb=pb->

else

pa)

next=pb;

else

next=pa;

voidPrint(LinkListLa,LinkListLb,LinkListLc)

La:

PrintList(La);

Lb:

PrintList(Lb);

Lc:

PrintList(Lc);

LinkListLa;

CreateSq(La);

LinkListLb;

CreateSq(Lb);

LinkListLc;

AUB(La,Lb,Lc);

Print(La,Lb,Lc);

1

6

7

8

9

10

2478910

1234578910

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2