计算机软件课设报告Word文档下载推荐.docx
- 文档编号:16167040
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:59
- 大小:265.59KB
计算机软件课设报告Word文档下载推荐.docx
《计算机软件课设报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机软件课设报告Word文档下载推荐.docx(59页珍藏版)》请在冰豆网上搜索。
调用此函数将内存中的数据保存至磁盘中
⑥装入(Load()):
调用此函数用以将之前保存在磁盘的内容读入到内存中或显示到屏幕上
注:
本课题中输入的数据应包括以下几项信息:
姓名(NAME)学校(SCHOOL)城市(CITY)邮编(EIP)国家(STATE)
(二)程序流程图
1.顺序表合并
3.链表
10.1顺序查找
10.2二分查找
11.1插入排序
11.2选择排序
11.3冒泡排序
通讯录
12.链栈
(三)源程序清单
#include<
stdio.h>
string.h>
stdlib.h>
#defineSeqListstructlisttype
#defineMaxSize1000
SeqList
{
intdata[MaxSize];
intlast;
};
voidmerge(SeqList*p,SeqList*q,SeqList*c)
inti,j,k,a;
i=0;
j=0;
k=0;
while(i<
=p->
last)
{
c->
data[k]=p->
data[i];
k++;
i++;
}
while(j<
=q->
last&
&
p->
data[i]!
data[j])
i++;
if(i>
data[k]=q->
data[j];
j++;
for(a=0;
a<
k;
a++)
printf("
%d"
c->
data[a]);
}
SeqList*init_SeqList()
SeqList*p;
p=(SeqList*)malloc(sizeof(SeqList));
p->
last=-1;
returnp;
voidmain()
p=init_SeqList();
inti,j;
j=0;
PleaseinputSeqListp:
\n"
);
scanf("
%d"
&
data[i]);
while(p->
=-1)
i++;
scanf("
p->
last++;
SeqList*q;
q=init_SeqList();
PleaseinputSeqListq:
q->
data[j]);
while(q->
data[j]!
q->
SeqList*c;
c=init_SeqList();
merge(p,q,c);
#defineseqliststructlisttype
#definemaxsize1000
seqlist
intdata[maxsize];
seqlist*init_seqlist()//初始化
seqlist*L;
L=(seqlist*)malloc(sizeof(seqlist));
L->
returnL;
intinsert_seqlist(seqlist*L,inti,intx)//插入
intj;
if(L->
last==maxsize-1)
printf("
Theseqlistisfull.\n"
return-1;
if(i==L->
last+1)
L->
data[L->
last+1]=x;
else
for(j=L->
last;
j>
=i;
j--)
L->
data[j+1]=L->
data[i]=x;
return1;
intDelete_seqlist(seqlist*L,intb)//删除
if(b<
0||b>
L->
bisinvalid!
return(0);
for(j=b;
j<
=L->
last-1;
j++)
data[j]=L->
data[j+1];
last--;
return
(1);
L=init_seqlist();
inti,j,a,x,p,b;
PleaseinputSeqListL:
p);
while(p!
=-1)//出现-1时结束创建顺序表
data[i]=p;
pleaseinputthenumbertoinsert:
a=;
x=.\n"
a);
x);
if(insert_seqlist(L,a,x))
Theseqlistafterinsertis:
for(i=0;
i<
i++)
%d\n"
L->
pleaseinputthenumbertodelete:
b=\n"
b);
if(Delete_seqlist(L,b))
Theseqlistafterdeletionis:
#defineNULL0
#defineSLNODEstructnode
SLNODE
intdata;
SLNODE*next;
intDel_LinkList(SLNODE*h,inti)
SLNODE*p,*s;
p=h;
next!
=NULL&
i-1)
p=p->
next;
j++;
if(j!
=i-1)
iisinvalid!
return0;
if(p->
next==NULL)
{
idoesnotexist!
return(0);
}
else
s=p->
p->
next=s->
free(s);
return
(1);
SLNODE*CREATE_SL(SLNODE*h)
intx;
h=(SLNODE*)malloc(sizeof(SLNODE));
h->
next=NULL;
pleaseinputelement:
while(x!
s=(SLNODE*)malloc(sizeof(SLNODE));
s->
data=x;
if(h->
h->
next=s;
p=s;
returnh;
SLNODE*h,*p;
inti;
h=CREATE_SL(h);
Theoriginallinklistis:
for(p=h->
p!
=NULL;
p=p->
next)
p->
data);
pleaseinputthenumderitodelet:
i=\n"
i);
if(Del_LinkList(h,i))
Thelinklistaferdeletionis:
#definemaxsize1024
typedefstructstack
inttop;
}sqstack;
sqstack*init_seqstack()
sqstack*s;
s=(sqstack*)malloc(sizeof(sqstack));
s->
top=-1;
returns;
intPop_seqstack(sqstack*s,intx)
if(s->
top==-1)
x=s->
data[s->
top];
top--;
return1;
intTop_seqstack(sqstack*s)
return(s->
top]);
intPush_seqstack(sqstack*s,intx)
top==maxsize-1)
top++;
top]=x;
return
(1);
inta;
intb;
s=init_seqstack();
pleaseinputtheelementofseqstacks:
a=\n"
while(a!
if(Push_seqstack(s,a))
scanf("
Thetopelementafterpushis:
Top_seqstack(s));
if(Pop_seqstack(s,b))
{
Thetopelementafterpopis:
#defineLinkstackstructlinkstack
intb;
Linkstack
Linkstack*next;
Linkstack*init_Linkstack()
Linkstack*top;
top=(Linkstack*)malloc(sizeof(Linkstack));
top=NULL;
returntop;
Linkstack*Push_Linkstack(Linkstack*top,intx)
Linkstack*s;
s=(Linkstack*)malloc(sizeof(Linkstack));
next=top;
top=s;
Linkstack*Pop_Linkstack(Linkstack*top)
Linkstack*p;
if(top==NULL)
returnNULL;
b=top->
data;
p=top;
top=top->
free(p);
returntop;
Linkstack*top,*q;
top=init_Linkstack();
pleaseinputtheelementofthelinkstack:
a=\n"
top=Push_Linkstack(top,a);
q=top;
theoriginallinkstackis:
while(q!
=NULL)
q->
q=q->
top=Pop_Linkstack(top);
thetopofthelinkstackis:
%d\n"
b);
thelinkstackafterpopis:
#defineMaxSize1024
typedefstructc_queue
intfront,rear;
intnum;
}c_SeQueue;
c_SeQueue*init_SeQueue()
c_SeQueue*q;
q=(c_SeQueue*)malloc(sizeof(c_SeQueue));
q->
front=q->
rear=MaxSize-1;
num=0;
returnq;
intin_SeQueue(c_SeQueue*q,intx)
if(q->
num==MaxSize)
TheQueueisfull!
return(-1);
rear=(q->
rear+1)%MaxSize;
data[q->
rear]=x;
num++;
intout_SeQueue(c_SeQueue*q)
num==0)
TheQueueisempty!
front=(q->
front+1)%MaxSize;
Theelementtooutis:
front]);
num--;
ints;
inti,a;
q=init_SeQueue();
Pleaseinputthenumbertoin_SeQueue:
if(in_SeQueue(q,a))
TheoriginalSeQueueis:
s=q->
front+1;
num;
%d\t"
data[(s++)%MaxSize]);
if(out_SeQueue(q))
TheSeQueueafterout_Sequeueis:
#defineQNODEstructQNode
intx;
QNODE
QNODE*next;
typedefstructlinkqueue
QNODE*front,*rear;
}LinkQueue;
LinkQueue*init_LQueue()
LinkQueue*q;
QNODE*p;
q=(LinkQueue*)malloc(sizeof(LinkQueue));
p=(QNODE*)malloc(sizeof(QNODE));
rear=p;
voidin_LQueue(LinkQueue*q,intx)
rear->
next=p;
intIsEmpty(LinkQueue*q)
front==q->
rear)
intout_LQueue(LinkQueue*q)
if(IsEmpty(q))
thequeueisempty!
"
p=q->
front->
next=p->
x=p->
if(q->
q->
rear=q->
front;
QNODE*s;
q=init_LQueue();
Pleaseinputlinklistq:
in_LQueue(q,a);
Theoriginallinkqueueis:
while(s!
s->
s=s->
if(out_LQueue(q))
Theoutedelementis:
x);
Thelinkqueueafteroutqueueis:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 报告