ST数据结构作业与实验参考答案(一)自然科学_第1页
ST数据结构作业与实验参考答案(一)自然科学_第2页
ST数据结构作业与实验参考答案(一)自然科学_第3页
ST数据结构作业与实验参考答案(一)自然科学_第4页
ST数据结构作业与实验参考答案(一)自然科学_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1ST数据结构作业与实验参考答案(一)-自然科学

9000:矩形面积

ProblemDescription

声明一个名为rect的矩形类,其属性为矩形的左下角和右上角两个点的x和y坐标,该类有效矩形只存在于直角坐标系的第一象限内。若所构成的矩形有效,则计算矩形的面积;若所构成的矩形无效,则输出“dataerror”。Input

输入的第一行为一个数字n,表示下面有n组数据,每组数据包括2行;每组数据中的第一行表示矩形左下角点的x和y坐标,其次行表示矩形右上角点的x和y坐标。Output

若所构成的矩形有效,则计算矩形的面积;若所构成的矩形无效,则输出“dataerror”。SampleInput222441234

SampleOutput

44

//9000ANSWER

#includeusingnamespacestd;classrect{

public:rect(inta,intb,intc,intd);~rect{}intarea;private:intx1,y1,x2,y2;};

rect::rect(inta,intb,intc,intd){x1=a;y1=b;x2=c;y2=d;}intrect::area

{return(x2-x1)*(y2-y1);}intmain{

inta,b,c,d,n;cin>>n;while(n--){

cin>>a>>b>>c>>d;

if(a=c||b>=d)coutusingnamespacestd;#defineN20

voidReverse(chara,intfrom,intto){inti,j;chart;i=from;j=to;while(i>m;while(m--){cin>>a>>i;n=strlen(a);i=i%n;Converse(a,n,i);

coutusingnamespacestd;constintMaxSize=20;

//有两个由小到大有序的有序挨次表A和B

voidcombine(intA,intA_len,intB,intB_len){if((A_len+B_len)>MaxSize)coutA[j])//找到B[i]在A表中的插入位置j{j++;}

for(k=A_len-1;k>=j;k--)//把j(包括j)以后的元素往后挪一个位{A[k+1]=A[k];}

A[j]=B[i];//把B[i]插入A表中的位置j

置,空出j来。

A_len++;//A表长度加1}cout>n;while(n--){cin>>A_len;for(i=0;i>A[i];}cin>>B_len;for(i=0;i>B[i];}combine(A,A_len,B,B_len);}}

9004:连续删除

ProblemDescription

从由小到大有序的挨次表中删除其值在[s,t]之间(含s和t)的全部元素,且不转变挨次表的有序性。假如s>=t则显示“dataerror”;否则输出挨次表的表长和挨次表中的元素,若处理后的挨次表为空,则不输出任何信息。Input

输入的第一行为一个数字n,表示下面有n组数据,每组数据包括3行;每组数据中的第一行包含两个数字s和t,其次行为挨次表的表长len(0=t,则直接输出“dataerror”,否则输出两行信息:第一行为处理后挨次表的表长,其次行为处理后挨次表中的元素,元素之间用一个空格分隔,假如处理后的挨次表为空,则不输出任何信息。

SampleInput18187

1351925

//9004ANSWER

#includeusingnamespacestd;intmain{intn,s,t,len,A[21],i,s_i,t_i,j,span;cin>>n;while(n--){cin>>s>>t>>len;for(i=0;i>A[i];if(s>=t||len20){couttif(s_iusingnamespacestd;intmain{intn,i,j,A[11112],B[11112];while(cin>>n){if(n>=1i>A[i];for(i=0;iusingnamespacestd;

structNode{intdata;Node*next;};intmain{inti,n,data[100],min;Node*first,*p,*q,*s,*tail;while(cin>>n){if(n==0){cout>data[i];first=newNode;first->next=NULL;tail=first;for(i=0;idata=data[i];tail->next=s;tail=s;}tail->next=NULL;p=first;min=first->next->data;while(p->next){q=p;p=p->next;if(p->datadata;}p=first->next;q=first;while(p){if(p->data==min)break;else{q=p;p=p->next;}}if(pdeletep;cout0);其次行为单链表的各元素。Output

输出该单链表中倒数第k个结点的值。若该结点不存在,则输出“notfind”。SampleInput51

1234555

12345SampleOutput51

//9016ANSWER

#includeusingnamespacestd;

structNode{intdate;Node*next;};intmain{intn,k,i,c,data[100];Node*first,*r,*p,*s;while(cin>>n>>k){for(i=0;i>data[i];first=newNode;r=first;for(i=0;idate=data[i];r->next=s;r=s;}r->next=NULL;}

9017:统计选票

ProblemDescription

设有m个候选人n张选票,每张选票选且只选一人,候选人编号依次为1,2,3,...,m。现将这n张选票存于一单链表中,要求统计并输出每个候选人的得票结果。

//倒数第k个就是正数第n-k+1个。if(k0,0usingnamespacestd;intmain{intvotes[100],n,i,m,c;while(cin>>m>>n){for(i=1;i>c;votes[c]++;}for(i=1;iusingnamespacestd;intmain{inti,j,c,l,n,m,A[101],Queue[101],front,rear;while(cin>>n>>m){for(i=0;i>A[i];front=rear=0;c=0;l=0;for(i=0;iusingnamespacestd;intmax(intA,intn){if(n==1)returnA[0];else{if(A[n-1]>=max(A,n-1))returnA[n-1];elsereturnmax(A,n-1);}}

intmain{inti,n,A[101];while(cin>>n){for(i=0;i>A[i];cout#include

usingnamespacestd;intmain{intn,k,carNum[11],i,j,rearrange;while(cin>>n>>k){for(i=0;i>carNum[i];queueQ[5];rearrange=1;for(i=0;iQ[j].back){Q[j].push(carNum[i]);break;}}if(j==k){rearrange=0;break;}}coutusingnamespacestd;

intmain{inti,len,flag;charstr[100],stack[100],top=-1;while(cin>>str){len=strlen(str);flag=0;top=-1;for(i=0;iusingnamespacestd;intmain{intn,i,flag;charstr[51],stack[51],top=-1;while(cin>>str)

{n=strlen(str);top=-1;flag=0;for(i=0;i-1)top--;else{coutusingnamespacestd;intmain{

intn,i,j,in,out;//in输入序列指针,out输出序列指针intoutput[51],stack[51],top=-1;while(cin>>n){for(i=0;i>output[i];

}

top=-1;in=0;for(i=0;iin){for(j=in+1;jusingnamespacestd;intmain{

intn,i,j,flag,maxi;doublemax;//max肯定是double类型while(cin>>n){if(n>pw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论