资源描述:
《空间数据结构复习》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、逆波兰式:#include#definemO100voidtrans(){charstr[m0]://输入charexp[m0]://最后式子charstack[mO];//临时存运算符charch;inti,j,t,top二0;i=0;do{i++;sconf&str[iI);}while(str[i]!=*&&i!=m0);t=l;i=l;ch=str[i];i++;while(ch!=*#'){if(ch>二'O'&&ch<='9'){exp[t]=ch;1++;)elseif(ch==,('){lop++;stack[topI二ch;)elseif(c
2、h==,)'){while(stack[topI!二'(,){exp[t]=stack[top];top__;t++;)top——;}elseif(ch==,
3、
4、ch二二,_,){while(top!=0&&stack[top]!=,(')oxp[t]=stack[top];top―;t++;)top++;stack[top]=ch;elseif(ch==,*'
5、
6、ch==,/'){wh订e(stack[top]==,\stack[top]==,/)exp[t]=stack[top];top―;t++;top++;stcick[top
7、=ch:ch=str[i];i++;)w
8、hile(top!=0)exp[t]=stack[top];t卄;top—;}exp[t]-#';for(j=l;j<=t;j++)printfexp[j]);prinlf(〃");voidmainOprintfCiW输入一般算术式,并用俘结束〃);trans();#include^include^definemO100voidcompvalue(){charexp[m0];floatstack[mO],d;charc;inti二0,t二1,top二0;doscanf&exp[i]);}while(exp[i]!二&&i!=m0);exp[
9、i+l]= ';c=exp[t];t++;while(c!=,#'){if(c>二'O'&&c<='9‘){d=c_,0';top++;stcick[top
10、=d;elseswitch(c){case':stack[top-l]=stack[top]+stack[top-l];break;case:stack[top-1]=stack[top-1]-stack[top]:break;ctise':stack[top-l
11、=sttick[top-1]*stack[topl;breeik;case'r:if(stack[top]!=,0,)stack[top-1]=stack[t
12、op-1]/stack[top];elseprintfC除零是错误的〃);top——;c=exp[t];t++;)printf(z/计算结果是:%f:stack[top]);}voidmainO{printfCiW输入一个逆波兰式,并用结束”);compvalueO;}线性逆置^include#include〈stdlib.h>//存储空间的分配增量^defineLTSTTNTTSTZE100^defineLTSTINCREMENT10typedefstruct{int*elem;intlength;intlistsize;//当前存储容量)Sqlist;
13、intTnitlist_Sq(Sqlist*1,)//构造{//开辟这么多的空间L->elem=(int*)malloc(LlST_lNlT_SlZE*sizeof(int)):if(!L->elem)printf("voerflow");//分配失败elseL->length=0;L->listsize=LIST_INIT_SIZE;//初始存储容量return1;}voidinput(Sqlist*A)inti二0;printfC请输入长度:");scanf(,z%d,z,&A->length);printfC请输入数:");for(i=0;ilength;
14、i++){scanf(,/%d,/,&A->elem[i]);}}voidprint(Sqlist*A){inti;for(i=0;ilength;i++)printf(*%d”,A->elem[i]);}voidinvert(Sqlist*A){intn=A->]ength;intm=(A->length)/2,i:inttemp;for(i=0;ielem[i]:A->elem[i]=A->elem[n-i-l]:A->elem[n-i-l]=te