




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——《数据结构》试验指导书len-1;j>=k;j--){l->elem[j+1]=l->elem[j];}l->elem[k]=99;l->len++;}
main()
{inti;sqlist*l,L;l=clrscr();creatsqlist(l);for(i=0;ilen;i++)printf(\}(2)程序如下:
typedefstructlnode
{intdata;structlnode*next;}node,*nodeptr;nodeptrcreat()
{nodeptrl,p,q;inti,n,e;
l=(nodeptr)malloc(sizeof(node));q=l;q->next=0;scanf(\for(i=1;idata=e;q->next=p;q=p;}
q->next=0;returnl;}
voidout(nodeptrl)
{nodeptrp;p=l->next;
while(p){printf(\}
main()
{nodeptrl;l=creat();out(l);}
3.试验内容:阅读、理解、调试以下程序,并得到正确执行结果。
/*定义ElemType为int类型*/
/*顺序表存储空间的总分派量*/#defineMAXSIZE100#defineTRUE1#defineFALSE0/*顺序存储类型*/typedefintElemType;typedefstruct
node{intdata[MAXSIZE];/*存放线性表的数组*/
intlength;/*length是顺序表的长度*/
}SeqList;
SeqListSeqListCreate(inta[10]){
SeqListL;inti;
L.length=10;
for(i=0;iMAXNUM-1){
printf(\return0;}
for(j=MAXNUM-1,j>i;j--)v[j]=v[j-1];v[i]=b;return1;}
intdell(intv[],inti){
intj;
if(i#include#include
typedefintdatatype;
typedefstructlink_node{
datatypeinfo;
structlink_node*next;}node;
node*find_num_hlink_list(node*head,datatypex){
node*p;
p=head->next;while(p!=NULL){
if(p->info==x)break;p=p->next;}
returnp;}
voidprint_hlink_list(node*head){
node*p;
info=x;
p->next=add_y->next;add_y->next=p;returnhead;}
node*delete_z(node*head,datatypez){
node*p,*q;p=head;
if(p==NULL){
printf(\return1;}
if(p->info==z){
printf(\head=p->next;free(p);return0;}
while(p->info!=z
p=p->next;}
if(z==p->info){
if(p==head){
printf(\
head=p->next;free(p);return0;}else{
printf(\q->next=p->next;free(p);return0;}}else{
printf(\return1;}}
node*Createlist(){
node*p1,*p2,*head;inti,n,m;
head=(node*)malloc(sizeof(node));head->next=NULL;
printf(\scanf(\p1=head;
for(i=1;i=maxn){
printf(\return1;}
stack[toppt]=x;++toppt;return0;}
intpop(intstack[],inttoppt,intcp){
if(toppt==0){
printf(\return1;}
--toppt;
cp=stack[toppt];return0;
}
voidmain(){
inta[10],top,m,j,x,flag;
printf(\scanf(\
printf(\for(j=0;jtop==Stack_Size-1)return(0);S->top++;
S->elem[S->top]=x;return(1);}
intpop(SeqStack*S,int*x){
if(S->top==-1)
{printf(\else{*x=S->elem[S->top];S->top--;return(1);}}
voidConversion(intN){SeqStackS;intx;S.top=-1;while(N>0){x=N%2;push(N=N/2;}
while(S.top!=-1){pop(printf(\}
main(){
intx;clrscr();
printf(\scanf(\Conversion(x);getch();}
试验五顺序队列的基本操作
一、
试验目的:
1.握队列的基本概念;
2.把握循环队列的概念和建立、入队出队方法。
二、试验内容:
1.队列的基本操作。
三、试验要求:
1.认真阅读、把握和上机运行本试验的程序;2.记录程序的运行结果,并结合程序进行分析;3.参循例如程序,完成相应功能的C程序设计编写。
四、五、
试验学时:2学时试验步骤:
1.试验准备:
(1)完成教材第四章课后编程项目的第1-3题;(2)阅读试验步骤中的函数,写出函数功能;
2.拓展练习:阅读以下程序,写出各子函数功能和程序运行结果,再上机调试运行。(1)队列的基本运算
voidinqueue(sueue*q,intx)
{
if(queuefull(q))
{printf(“queueoverflow〞);return;}q–>len++;
q–>data[q–>rear]=x;
q–>rear=(q–>rear+1)%queuesize;
}
intdequeue(sueue*q){inttemp;
if(queueempty(q))
{printf(“queueunderflow〞);return;}temp=q–>data[q–>front];q–>len--;
q–>front=(q–>front+1)%queuesize;returntemp;}prin(sueue*q){intI;
for(I=q->front;I!=q->rear;I++)printf(“%d〞,q->data[i]);
}
main(){squeuesq;intI;sq.len=0;
for(I=0;Ilen=strlen(s);}
intindex(sqstrs,sqstrt){
inti=0,j=0;
while(idata==p->data)returnt;else
{if(s->data>p->data)p=p->right;
else
p=p->left;}}
if(s->data>q->data)q->right=s;elseq->left=s;returnt;}
bitree*creat(){bitree*t,*s;intk,i,n,dat;t=NULL;
/*scanf(\n=5;
for(i=1;idata==x)break;elseif(p->data>x){q=p;p=p->left;}else
{q=p;p=p->right;}}
if(p==NULL)return0;
if((p->left==NULL)
elseif(p==q->left)q->left=NULL;elseq->right=NULL;free(p);}else
if((p->left==NULL)||(p->right==NULL)){if(p==t){if(p->left==NULL)t=p->right;elset=p->left;}else
{if((p==q->left)elseif(p==q->leftelseif(p==q->rightelseif(p==q->rightfree(p);}}
elseif((p->left!=NULL)||(p->right!=NULL)){bitree*m=p,*n=p->left;while(n->right!=NULL){m=n;n=n->right;}p->data=n->data;if(m==p)p->left=n->left;elsem->right=n->left;free(n);}return1;}
main(){bitree*t;t=creat();output(t);delete(t,8);
printf(\output(t);}
试验八排序的基本操作(一)
一、
试验目的:
1.把握简单排序的算法;2.把握希尔排序的算法3.把握快速排序的算法
二、试验内容:
1.验证简单排序算法;2.验证冒泡排序算法;3.写出快速排序算法的源程序。
三、试验要求:
1.认真阅读、把握和上机运行本试验的程序;2.记录程序的运行结果,并结合程序进行分析;3.参循例如程序,完成相应功能的C程序设计编写。
四、五、
试验学时:2学时试验步骤:
1.试验准备:
(1)完成教材第九章课后编程项目的1、3、5、6题;(2)阅读源程序;(3)编写有关程序。
2.拓展练习:阅读以下程序,写出各子函数功能和程序运行结果,再上机调试运行。
#defineMAX50typedefstruct{
intelem[MAX+1];intlength;}relist;relist*crea()
/*线性表的建立*/{relist*a;inti;
a=(relist*)malloc(sizeof(relist));printf(\请输入长度\\n\scanf(\printf(\请输入各元素\\n\for(i=1;ilength;i++)/*scanf(\a->elem[i]=10-i;
printf(\所建立的线性表为\\n\printf(\for(i=1;ilength;i++)
length;i++)if(L->elem[i]length;i++)printf(\}
3.拓展练习:以下算法是简单项选择择排序和起泡排序函数,请细心阅读,改变成C语言
函数再编制好主函数,然后上机调试。1)voidSelectSort(relist*L)/*简单项选择择排序*/{inti,j,k,t;
for(i=1,ilength;++i){k=i;
for(j=i+1;jlength;++j)
if(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省青岛市超银中学2025年初三新课程第三次适应性测试语文试题含解析
- 天津市津南区咸水沽三中学重点达标名校2025年初三下学期第一次摸拟试物理试题含解析
- 山西省晋中学市灵石县重点中学2025届初三下学期第一次模拟(网考)考试化学试题含解析
- 天津商业大学《冰雪运动》2023-2024学年第二学期期末试卷
- 西安电力高等专科学校《医疗服务营销学》2023-2024学年第二学期期末试卷
- 四川文化艺术学院《建筑施工组织及BIM应用》2023-2024学年第一学期期末试卷
- 山东省青岛市西海岸新区6中重点达标名校2025年初三第一次质量预测化学试题含解析
- 三峡旅游职业技术学院《珠宝首饰设计基础》2023-2024学年第二学期期末试卷
- 石家庄铁道大学《城市规划与设计》2023-2024学年第二学期期末试卷
- 西北工业大学《口腔颌面外科学实验二》2023-2024学年第二学期期末试卷
- 羽毛球教案36课时
- 第三章煤层气的储层压力及赋存状态
- 100以内两位数进退位加减法测试习题(1200道)
- 六年级上册数学圆中方方中圆经典题练习
- 住宅(小区)智能化系统检测报告
- ansys教学算例集汽轮机内蒸汽平衡态与非平衡态仿真分析
- 安全管理机构架构
- 国际海上人命安全公约(SOLAS)介绍
- 自卸车生产过程检验表
- 辞退公务员审批表辞退国家公务员审批表
- 缠论缠中说禅秋叶正红三级联立分析报告操作系统
评论
0/150
提交评论