数据结构课程设计Word文档格式.docx
- 文档编号:15779685
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:30
- 大小:196.66KB
数据结构课程设计Word文档格式.docx
《数据结构课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
last=0;
//定义初始数据元素个数
}
voidsqtype(seqlist*L,intn)
{inti;
printf("
输入%d个数据:
\n"
n);
for(i=0;
i<
n;
i++)
scanf("
%d"
&
L->
st[i]);
last=n;
intLength(SeqListL)//当前数据元素个数
returnL.last;
intIns(SeqList*L,inti,DataTypex)//插入数据元素
intj;
if(L->
last>
=MaxSize)
{
printf("
顺序表已满无法插入!
);
return0;
}
elseif(i<
0||i>
last)
iiserror\n"
else
for(j=L->
last;
j>
i-1;
j--)L->
st[j]=L->
st[j-1];
st[i-1]=x;
last++;
插入成功!
!
intDel(SeqList*L,inti)//删除数据元素
last<
=0)
顺序表已无数据元素可删!
last-1)
for(j=i;
j<
=L->
last-1;
j++)L->
st[j-1]=L->
st[j];
last--;
printf("
删除成功!
voidoutput(SeqListL)
输出顺序表:
\n\n"
L.last;
%d"
L.st[i]);
\n\n\n\n\n"
voidmain()
SeqListLa;
inta,i,x,num;
intn;
ListInitiate(&
La);
创建一个顺序表~_~\n\n"
输入下长度:
n);
sqtype(&
La,n);
output(La);
删除个把个数据看看:
输入个数:
"
i);
Del(&
La,i);
插个数:
输入两个数:
%d%d"
i,&
x);
Ins(&
La,i,x);
实验二单链表基本操作
stdlib.h>
typedefintelemtype;
typedefstructsqlist
elemtypedata;
sqlist*next;
}nodetype;
voidcre(nodetype*L,intn)//建立一个带头结点的单链表
inti;
nodetype*p,*q;
p=L;
for(i=1;
=n;
q=(nodetype*)malloc(sizeof(nodetype));
q->
data);
q->
next=NULL;
p->
next=q;
p=q;
voidoutput(nodetype*L)//计算单链表的长度,然后输出单链表
intnum=0;
nodetype*p;
p=L->
next;
\n\n单链表为:
while(p)
num++;
p->
p=p->
\n表的长度为:
%d\n\n"
num);
voidInsert(nodetype*L,inti,elemtypex)//在单链表第i个结点之前插入值为X的结点
nodetype*p,*s;
intj;
j=0;
while((j<
i-1)&
&
(p!
=NULL))
{p=p->
j++;
if(p!
=NULL)
{s=(nodetype*)malloc(sizeof(nodetype));
s->
data=x;
s->
next=p->
p->
next=s;
//插入的先后顺序
失败"
voidDelete(nodetype*L,inti)//删除第i个结点
(p->
next!
if(p->
q=p->
next=q->
free(q);
失败\n"
{
inti,x;
nodetypev;
创建单链表:
\n请输入单链表结点个数:
cre(&
v,n);
output(&
v);
插入一个结点:
\n请输入位置与值:
"
Insert(&
v,i,x);
删除一个结点:
\n输入结点位置:
Delete(&
v,i);
实验三
单链表经典算法排序合并就地逆置
/*实验三:
单链表经典算法排序合并就地逆置*/
\n\n单链表为:
\n表的长度为:
%d\n\n\n\n"
voidins_order(nodetype*L,nodetype*s)
{nodetype*p;
while((p->
next->
data<
data)&
next))
p=p->
voidsort(nodetype*L)
{nodetype*p,*q;
{q=p->
ins_order(L,p);
voidhb(nodetype*L,nodetype*M)
L=L->
next;
next=M->
voidjdnz(nodetype*L)
{p=L->
do{q=p->
next=L->
next=p;
while(p);
intn;
nodetypeL,M;
创建单链表,亲输入n:
L,n);
L);
sort(&
printf(“\n排序后的单链表:
\n”);
output(&
逆置后的单链表:
jdnz(&
创建另一个单链表用于合并,输入n:
M,n);
hb(&
L,&
M);
实验四一元多项式的相加相乘
malloc.h>
typedefstructpnode
{intcoef;
/*系数*/
intexp;
/*指数*/
structpnode*next;
/*下一个指针*/
}pnode;
pnode*creat()
{intm,n;
pnode*head,*rear,*s;
/*head为头指针,rear和s为临时指针*/
head=(pnode*)malloc(sizeof(pnode));
rear=head;
/*指向头*/
输入系数:
/*输入系数*/
scanf("
输入指数:
/*输入指数*/
m);
while(n!
=0)/*输入0就退出*/
{s=(pnode*)malloc(sizeof
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计