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

提交評論