ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:65.50KB ,
资源ID:9359192      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9359192.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(数据结构考试题.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据结构考试题.doc

1、数据结构 线性表 #include #include #include #include #define OK 1 #define ERROR 0 typedef int Status; typedef int Boolean; typedef int ElemType; #define LIST_INIT_SIZE 10 #define LISTINCREMENT 2 typedef struct

2、 { int *elem; int length; int listsize; }SqList; Status InitList(SqList *L) { L->elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L->elem) exit(OVERFLOW); L->length=0; L->listsize=LIST_INIT_SIZE; return OK; } Status ListInsert(SqList *L,int i,in

3、t e) { int *newbase,*q,*p; if(i<1||i>L->length+1) return ERROR; if(L->length>=L->listsize) { if(!(newbase=(ElemType *)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType)))) exit(OVERFLOW); L->elem=newbase; L->listsize+=LISTINCREMENT; }

4、 q=L->elem+i-1; for(p=L->elem+L->length-1;p>=q;--p) *(p+1)=*p; *q=e; ++L->length; return OK; } Status ListPrint(SqList *L) { int *q; int i; q=L->elem; for(i=1;i<=L->length;i++) printf("%d ",*q++); printf("\n"); return OK; } Status ListDel

5、ete(SqList *L,int i,ElemType *e) { ElemType *p,*q; if(i<1||i>L->length) // i值不合法 return ERROR; p=L->elem+i-1; *e=*p; q=L->elem+L->length-1; for(++p;p<=q;++p)移 *(p-1)=*p; L->length--; return OK; } Status GetElem(SqList *L,int i,ElemType *e) { if(i<

6、1||i>L->length) exit(ERROR); *e=*(L->elem+i-1); return OK; } int menu() {int n; printf("put number"); scanf("%d",&n);return n; } void main() { SqList l,La,Lb,Lc; int i; int e; printf ("1 InitList\n 2 listinsert\n 3 listprint\n 4 ListDelete\n 5 GetElem\n 6 MergeList\n

7、6 exit\n"); do { switch(menu()) { case 1:InitList(&l);printf("初始化!!!!!\n");break; case 2:printf("i,e");scanf("%d%d",&i,&e); ListInsert(&l,i,e);break; case 3:ListPrint(&l);break; case 4:printf("i,e");scanf("%d",&i); ListDelete(&l,i,&e);break; case 5:printf("i");scanf("%d",&i

8、); GetElem(&l,i,&e);printf("%d\n",e);break; case 6:exit(0); }} while(1); } ====================================================================== 单链表 #include // EOF(=^Z或F6),NULL #include // atoi() #define OK 1 #de

9、fine ERROR 0 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int Boolean; // Boolean是布尔类型,其值是TRUE或FALSE typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; typedef int Status; //-------------------------------------------------------------------------

10、 void CreateList(LinkList *L,int n) { int i; LNode *p; *L=(LinkList)malloc(sizeof(LNode)); (*L)->next=NULL; for(i=n;i>0;--i) {p=(LinkList)malloc(sizeof(LNode)); scanf("%d",&p->data); p->next=(*L)->next; (*L)->next=p;} } //-------------------------------------------------------------

11、 Status ListInsert(LinkList *L,int i,int e) { int j; LinkList p,s; p=*L;j=0; while(p&&jnext;++j;} if(!p||j>i-1) return ERROR; s=(LinkList)malloc(sizeof(LNode)); s->data=e;s->next=p->next; p->next=s; return OK; } //-----=----------------------------------------

12、 void ListPrint(LinkList *L) {LinkList p; p=(*L)->next; printf("%d",p->data); while(p->next) { p=p->next; printf("%3d",p->data); } } //---------------------------------------------------------------------------- Status ListDelete(LinkList *L,int i,int *e

13、) {LinkList p,q; int j; p=*L;j=0; while(p->next&&jnext;++j;} if(!(p->next)||j>i-1) return ERROR; q=p->next;p->next=q->next; *e=q->data; free(q); return OK; } //----------------------------------------------------------------------------- Status GetElem(LinkList *L,int i,

14、int *e) { LinkList p; int j; p=(*L)->next;j=1; while(p&&jnext;++j;} if(!p||j>i) return ERROR; *e=p->data; return OK; } //--------------------------------------------------------------------------- int Menu() {int a; printf("******************************\n"); printf("*

15、1->CreateList *\n"); printf("* 2->ListInsert *\n"); printf("* 3->Listprint *\n"); printf("* 4->ListDelete *\n"); printf("* 5->GetElem *\n"); printf("* 6->exit *\n"); printf("******************************\n");

16、 do {printf("Enter You selelt:"); scanf("%d",&a); }while(!(a>=1&&a<=7)); return(a); } main() { LinkList l,La,Lb,Lc; int x,i,e,n,result,flag=0; do { x=Menu(); switch(x) {case 1: printf("Enter n :"); scanf("%d",&n); CreateList(&l,n); flag=1; printf("su

17、ccess!print Enter continue...\n"); break; case 2:if(flag==0) {printf("please enter 1! zai shu 2!"); break; } printf("\n please input i and e:"); scanf("%d %d",&i,&e); result=ListInsert(&l,i,e); if(result==ERROR) printf("Enter i is Erroe!please Enter c

18、ontime...\n"); else printf("Indent Success complered\n!"); break; case 3:printf("ListPrint:"); ListPrint(&l); printf("\n!please Entrer contime...."); break; case 4: printf("Enter i :"); scanf("%d",&i); result=ListDelete(&l,i,&e); if(resul

19、t==ERROR) printf("Enter i is Error! please Enter cintime...\n"); else printf("Indent Succes complered: %d\n",e); break; case 5: printf("Enter i :"); scanf("%d",&i); GetElem(&l,i,&e); printf("Succes is i :%d\n",e); break; case 6: printf("\n");x=0;break;

20、 } }while(x!=0); } ====================================================================== 栈 #include // EOF(=^Z或F6),NULL #include // atoi() #include // floor(),ceil(),abs() #define OK 1 #define ERROR 0 #define STACK_I

21、NIT_SIZE 100 #define STACKINCREMENT 10 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int Boolean; // Boolean是布尔类型,其值是TRUE或FALSE typedef int SElemType; typedef struct { int *base; int *top; int stacksize; }SqStack; //---------------------------------------

22、 Status InitStack(SqStack *S) {S->base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!S->base) exit(OVERFLOW); S->top=S->base; S->stacksize=STACK_INIT_SIZE; return OK; } //----------------------------------------------------------- Status Push(

23、SqStack *S,SElemType e) { if(S->top-S->base>=S->stacksize) {S->base=(SElemType *) realloc(S->base,(S->stacksize+STACKINCREMENT) *sizeof(SElemType)); if(!S->base) exit(OVERFLOW); S->top=S->base+S->stacksize; S->stacksize+=STACKINCREMENT; } *S->top++=e; return OK; } //

24、 int Menu() {int x; printf("enter your choice:"); scanf("%d",&x); return x; } //--------------------------------------------------------- void StackPrint(SqStack S) {SElemType *p; p=S.top; printf("打印---:"); w

25、hile(p!=S.base) {printf("%d\t",*--p); } } //----------------------------------------------------------- Status Pop(SqStack *S,SElemType *e) { if(S->top==S->base) return ERROR; *e=*--S->top; return OK; } //---------------------------------------------------------- Status Get

26、Top(SqStack S, SElemType *e) { if(S.top==S.base) return ERROR; *e=*(S.top-1); return OK; } //---------------------------------------------------------- main() {int e,n=0; SqStack s; char kuohao[100]; printf("------------------------------------------------\n"); printf("\t\t

27、1:InitStack\t\t\n"); printf("\t\t2:Push\t\t\t\n"); printf("\t\t3:Print\t\t\t\n"); printf("\t\t4:GetTop\t\t\n"); printf("\t\t5:Pop\t\t\t\n"); printf("\t\t6:Exit\t\t\t\n"); printf("-------------------------------------------------\n"); while(1) { switch(Menu())

28、 { case 1:printf("栈建立成功!!!!!");printf("\n"); InitStack(&s);printf("\n");break; case 2:printf("输入压入栈顶的元素:");scanf("%d",&e);printf("\n"); Push(&s,e);printf("\n");break; case 3:StackPrint(s);printf("\n");break; case 4:printf("打印站顶元素------值为%d",GetTop(s,&n));

29、 break; case 5:Pop(&s,&n); printf("弹出站顶元素------值为%d",n); break; case 6:exit(0); } }; } ====================================================================== 队列 #include // malloc()等 #include // EOF(=^Z或

30、F6),NULL #include // floor(),ceil(),abs() #include // exit() #define OK 1 #define ERROR 0 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int SElemType; typedef struct QNode { int data; struct QNode *next; }QNode,*QueuePtr; typedef struct

31、{ QueuePtr front; QueuePtr rear; }LinkQueue; //---------------------------------------------------------------- Status InitQueue(LinkQueue *Q) { Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode)); if(!Q->front) exit (OVERFLOW); Q->front->next=NULL; return OK; } //---------

32、 Status DestroyQueue(LinkQueue *Q) {while(Q->front) { Q->rear=Q->front->next; free(Q->front); Q->front=Q->rear; } return OK;} //----------------------------------------------------------------- Status EnQueue(LinkQueue *Q, SElemType

33、 e) { QueuePtr p; p=(QueuePtr)malloc(sizeof(QNode)); if(!p) exit (OVERFLOW); p->data=e;p->next=NULL; Q->rear->next=p; Q->rear=p; return OK; } //---------------------------------------------------------------- void QueuePrint( LinkQueue *Q ) { /*QueuePtr p; if(Q.rear==Q.front) exit(0)

34、 while(Q.rear!=Q.front) { p=Q.front->next; printf("%d ",p->d

35、ata); Q.front=p;}*/ QueuePtr p; p=Q->front; while(Q->rear!=p) { p=p->next; printf("%d ",p->data);} } //---------------------------------------------------------------- Status DeQueue(LinkQueue *Q, SElemType *e) { QueuePtr p; if(Q->front==Q->rear) return ERROR; {p=Q->front->next; *e

36、p->data; Q->front->next=p->next;} if(Q->rear==p) Q->rear=Q->front; free(p); return OK; } //--------------------------------------------------------------- int menu() {int n; printf("put number"); scanf("%d",&n);return n; } void main() { int n; LinkQueue Q; SElemType e; printf

37、 (" 1 InitQueue\n 2 DestroyQueue\n 3 EnQueue\n 4 DeQueue\n 5 StackPrint\n 6 exit\n"); do{ n=menu(); switch(n) { case 1:if(InitQueue(&Q))printf("初始化!!!");else printf("ERROR");printf("\n");break; case 2:if(DestroyQueue(&Q))printf("OK"); else printf("ERROR");printf("\n");break; case 3:printf("enter e:");scanf("%d",&e);if(EnQueue(&Q, e))printf("OK");else printf("EROR");printf("\n");break; case 4:if(DeQueue( &Q, &e))printf("%d",e);else printf("ERROR");printf("\n");break; case 5:QueuePrint(&Q);printf("\n");break; case 6:exit(0); } } while(1); }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服