作业(10).docx

上传人:小飞机 文档编号:3273101 上传时间:2023-03-12 格式:DOCX 页数:6 大小:37.99KB
返回 下载 相关 举报
作业(10).docx_第1页
第1页 / 共6页
作业(10).docx_第2页
第2页 / 共6页
作业(10).docx_第3页
第3页 / 共6页
作业(10).docx_第4页
第4页 / 共6页
作业(10).docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《作业(10).docx》由会员分享,可在线阅读,更多相关《作业(10).docx(6页珍藏版)》请在三一办公上搜索。

1、作业第一次作业: #include stdio.h #includestdlib.h #includeiostream.h typedef char ElemType; enum StatusERROR,OK,OVERFLOW,; typedef struct DuLNode ElemType data; /数据域 struct DuLNode *prior; /前向指针域 struct DuLNode *next; /后向指针域 DuLNode ,*DuLinkList; Status creatList_Dul(DuLinkList &L) struct DuLNode * p; if(p

2、=(DuLinkList)malloc(sizeof(DuLNode) return OVERFLOW; /DuLinkList p; p-next=p; p-prior=p; L=p; return OK; Status GetElemp_Dul(DuLinkList L,int i,DuLNode &P) Status Reverselist_L(DuLinkList &L) struct DuLNode *p,*q,*s; /链表的就地逆置;为简化算法,假设表长大于2 int j; p=L-next; j=1; p=p-next; +j; if(!p|ji) return ERROR;

3、return OK; while(p&jnext; q=p-next; s=q-next; p-next=NULL; while(s-next) q-next=p; q-next=p; s-next=q; L-next=s; return OK; /LinkList_reverse p=q; s=s-next; /把L的元素逐个插入新表表头 q=s; 第二次作业: 设置计数器实现循环队列的六种操作 #include stdio.h #include stdlib.h #include iostream.h #define MAXSIZE 100 /假定预分配的队列空间最多为100个元素 typ

4、edef char DataType; /假定对内元素的数据类型为字符 typedef struct DataType dataMAXSIZE; int front;/头指针 int rear;/尾指针 int count;/计数器,记录对中元素总数 CirQueue; /置队列空 void InitQueue1(CirQueue &Q) /将顺序队列置空 Q.front=Q.rear=0; Q.count=0; /计数器置0 /判队列空 bool IsEmpty(CirQueue Q) return Q.count=0; /判队列满 bool IsFull(CirQueue Q) retur

5、n Q.count=MAXSIZE; /进队列 void EnQueue(CirQueue &Q,DataType x) if(IsFull(Q) printf(队列上溢);/上溢,退出运行 exit(1); Q.count+; /队列元素个数加1 Q.dataQ.rear=x; /新元素插入队尾 Q.rear=(Q.rear+1)% MAXSIZE; /循环意义下将尾指针加1 /出队列 DataType DeQueue(CirQueue &Q) DataType temp; if(IsEmpty(Q) printf(队列为空);/下溢,退出运行 exit(1); temp=Q.dataQ.f

6、ront; Q.count-; /队列元素个数减1 Q.front=(Q.front+1)%MAXSIZE; /循环意义下的头指针加1 return temp; /求队列元素的个数 int QueueLlenth(CirQueue Q) return Q.count; void main CirQueue Qtest; int i,n; char ch; coutn; coutendl; InitQueue1(Qtest); for(i=1;ich; EnQueue(Qtest,ch); while(!IsEmpty(Qtest) ch=DeQueue(Qtest); coutchleft=NULL&root-right=NULL) ) /后一个条件可省 return; else NODE *p; p = root-left; root-left = root-right; root-right = p; Treeswap(root-left); 作业五 Treeswap(root-right);

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号