顺序表逆置Word格式.docx
- 文档编号:18715807
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:10
- 大小:29.90KB
顺序表逆置Word格式.docx
《顺序表逆置Word格式.docx》由会员分享,可在线阅读,更多相关《顺序表逆置Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
intj,i=ListLength(LinkListL;
p=L->
next;
L->
next=NULL;
for(j=1,j=<
i,i++
q=p->
p->
next=L;
L=p;
p=q;
++j;
头插法定义顺序表
#include<
stdio.h>
typedefintElemType
typedefstructLNode{
ElemTypedata;
structLNode*next;
}LNode,*LinkList;
voidInitList(LinkList&
L
L=(LinkListmalloc(sizeof(LNode;
Lexit(OVERFLOW;
voidGreatList(LinkList&
L,intn
for(i=n;
i>
0;
--i
p=(LinkListmalloc(sizeof(LNode;
scanf(&
data;
next=L->
next=p;
VoidListTraverse(LinkListL,void(*visit(ElemType
LinkListp=->
while(p
visit(p->
p=p->
printf("
\n"
;
voidmain(
intn=4;
LinkListL;
GreateList(L,n;
L="
ListTraverse(L,print;
入栈3875621再出栈
#include<
stdlib.h>
iostream>
usingnamespacestd;
#defineStack_Init_Size100
#defineStack_Increment10
#defineoverflow0
#defineOK1
#defineError0
typedefintStatus;
typedefintSElemType;
typedefstruct
SElemType*base;
SElemType*top;
intstacksize;
}SqStack;
StatusInitStack(SqStack&
S
S.base=(SElemType*malloc(Stack_Init_Size*sizeof(SElemType;
if(!
S.baseexit(overflow;
S.top=S.base;
S.stacksize=Stack_Init_Size;
returnOK;
}//InitStack
StatusPush(SqStack&
S,SElemTypee
if(S.top-S.base>
=S.stacksize
S.base=(SElemType*realloc(S.base,(S.stacksize+Stack_Increment*sizeof(SElemType;
S.top=S.base+S.stacksize;
S.stacksize+=Stack_Increment;
*S.top++=e;
}//Push
StatusPop(SqStack&
S,SElemType&
e
if(S.top==S.basereturnError;
e=*--S.top;
}//Pop
SqStackS;
InitStack(S;
Push(S,3;
Push(S,8;
Push(S,7;
Push(S,5;
Push(S,6;
Push(S,2;
Push(S,1;
SElemTypee;
Pop(S,e;
cout<
入队3815621再出队
#defineERROR0
#defineOVERFLOW0
#defineNULL0
typedefintQElemType;
typedefStructQNode
{//队列的链式存储结构
QElemTypedata;
structQNode*next;
}QNode,*QueuePtr;
StatusInitQueue(LinkQueue&
Q
{//构造一个空队列Q
Q.front=Q.rear=(QueuePtrmalloc(sizeof(QNode;
Q.frontexit(OVERFLOW;
Q.front->
}//InitQueue
StatusEnQueue(LinkQueue&
Q,QElemTypee
{//插入元素e为Q的新的队尾元素
p=(QueuePtrmalloc(sizeof(QNode;
pexit(OVERFLOW;
P->
data=e;
p->
Q.rear->
Q.rear=p;
}//EnQueue
StatusDeQueue(LinkQueue&
Q,QElemType&
{//若队列不为空,则删除Q的队头元素,用e返回其值,并返回OK,否则返回ERROE
if(Q.front==Q.rearreturnERROR;
p=Q.front->
e=p->
next=p->
if(Q.rear==pQ.rear=Q.front;
free(p;
}//DeQueue
LinkQueueQ;
InitQueue(&
Q;
EnQueue(Q,3;
EnQueue(Q,8;
EnQueue(Q,7;
EnQueue(Q,5;
EnQueue(Q,6;
EnQueue(Q,2;
EnQueue(Q,1;
DeQueue(S,e;
删除数据串中的字符a
StatusDelete_a(HString&
T
inti=0,j;
for(j=0,j<
=T.length,j++
if('
a'
==T.ch[j]6
T.ch[j..S.length]=T.ch[j+1..S.length];
j--;
S.length--;
T.ch=(char*realloc(T.ch,T.length*sizeof(char;
两个矩阵相加
StatusAddMatrix(TSMatrixM,TSMatrixN,TSMatrix&
intn=1,m=1,q=0;
if(N.mu!
=M.nu||N.nu!
=M.nureturnERROR;
Q.mu==N.mu;
Q.nu==N.nu;
while(m<
=M.tu&
&
n<
=N.tu
if(M.data[m].i<
N.data[n].i
Q.data[++q]=M.data[m++];
elseif(M.data[m].i>
Q.data[++q]=N.data[n++];
else
{if(M.data[m].j<
N.data[n].j
elseif(M.data[m].j>
Q.data[q]+=N.data[n++].e;
if(Q.data[q]==0
q--;
=M.tuQ.data[++q]=M.data[m++];
while(n<
=N.tuQ.data[++q]=M.data[n++];
if(q>
MAXSIZEreturnERROR
Q.tu=q;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 表逆置
![提示](https://static.bdocx.com/images/bang_tan.gif)