freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c程序設(shè)計(jì)(第2版)第七章習(xí)題解答-資料下載頁

2025-03-27 23:34本頁面
  

【正文】 i,a[25]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},b[25]。 Stackint istack(5)。 for(i=0。i25。i++) (a[i])。 ()。 i=0。 while(!()){ b[i]=()。 i++。 } if(()) cout??誩ndl。 for(i=0。i25。i++) coutb[i]39。\t39。 //注意先進(jìn)后出 coutendl。 return 0。}//includecassertincludeiostreamusing namespace std。templatetypename Tclass seqlist{ int last。 //順序表最大下標(biāo) T *elements。 //動(dòng)態(tài)建立的數(shù)組 int maxSize。 //順序表最大允納的元素個(gè)數(shù)public: seqlist(int=20)。 //順序表如不指定大小,設(shè)為20元素 ~seqlist(){delete[] elements。} void Push_back(const T amp。data)。 //順序表添加一個(gè)元素 T Pop_back()。 //順序表彈出一個(gè)元素,top T GetElem(int i)。 //取數(shù)據(jù),last不變 void seqlistFull()。 //順序表加倍 void MakeEmpty(){last= 1。} //清空順序表 bool IsEmpty() const{return last== 1。} //判順序表空 bool IsFull() const{return last==maxSize1。} //判順序表滿 void Printseqlist()。 //輸出順序表內(nèi)所有數(shù)據(jù)}。templatetypename T seqlistT::seqlist(int maxs){ maxSize=maxs。 last=1。 elements=new T [maxSize]。 //建立??臻g assert(elements!=0)。 //分配不成功結(jié)束程序}templatetypename T void seqlistT::Printseqlist(){ for(int i=0。i=last。i++) coutelements[i]39。\t39。 coutendl。}templatetypename T void seqlistT::Push_back(const T amp。data){ if(IsFull()) { cout順序表滿endl。 seqlistFull()。 //順序表滿則順序表加倍 } elements[++last]=data。 //順序表下標(biāo)先加1,元素再進(jìn)順序表}templatetypename T T seqlistT::Pop_back(){ assert(!IsEmpty())。 //順序表已空則不能彈出,退出程序 return elements[last]。 //返回順序表最后一個(gè)元素,同時(shí)last減1}templatetypename T T seqlistT::GetElem(int i){ assert(i=lastamp。amp。i=0)。 //超出順序表有效范圍則出錯(cuò),退出程序 return elements[i]。 //返回順序表指定元素}templatetypename T void seqlistT::seqlistFull(){//順序表加倍 T * el=elements。 int i=maxSize,j。 maxSize*=2。 elements=new T [maxSize]。 //建立順序表空間 assert(elements!=0)。 //分配不成功結(jié)束程序 for(j=0。ji。j++) elements[j]=el[j]。 delete [] el。} 用單鏈表類來表示一個(gè)雙端隊(duì)列,要求可在表的兩端插入(鏈表頭和尾,即可用向前和也可用向后生成),但只能在表的一端刪除(鏈表頭)。給出基于此結(jié)構(gòu)隊(duì)列的兩個(gè)入隊(duì)和一個(gè)出隊(duì)算法的成員函數(shù)。解1:includeiostreamincludecassertusing namespace std。templatetypename Tclass Queue。templatetypename Tclass Node{ T info。 NodeT *link。public:Node(){link=NULL。} Node(T data,Node *l=NULL)。 friend class QueueT。}。templatetypename T NodeT::Node(T data,Node *l){ info=data。 link=l。}。templatetypename Tclass Queue{ NodeT *front,*rear。public: Queue(){rear=front=NULL。} //構(gòu)造一個(gè)空鏈隊(duì) ~Queue()。 bool IsEmpty(){ return front==NULL。} //隊(duì)空否? void EnQue(const T amp。)。 //進(jìn)隊(duì) T DeQue()。 //出隊(duì) T GetFront()。 //查看隊(duì)頭數(shù)據(jù) void MakeEmpty()。 //置空隊(duì)列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。)。 //從隊(duì)頭入隊(duì)}。templatetypename Tvoid QueueT::MakeEmpty(){ NodeT *temp。 while(front!=NULL){ temp=front。front=frontlink。delete temp。 }}templatetypename TQueueT::~Queue(){MakeEmpty()。}templatetypename Tvoid QueueT::EnQue(const T amp。data){ if(front==NULL) front=rear=new NodeT(data,NULL)。 else rear=rearlink=new NodeT(data,NULL)。}templatetypename Tvoid QueueT::EnQueFront(const T amp。data){ //從隊(duì)頭入隊(duì) NodeT *p=new NodeT(data,NULL)。 if(front==NULL) front=rear=p。 else{ plink=front。 front=p。 }}templatetypename TT QueueT::DeQue(){ assert(!IsEmpty())。 NodeT *temp=front。 T data=tempinfo。 front=frontlink。 delete temp。 return data。}templatetypename TT QueueT::GetFront(){ assert(!IsEmpty())。 return frontinfo。}int main(){ int i。 Queuechar que。 char str1[]=abcdefghijklmnop。 // 18元素?cái)?shù)組,17個(gè)字符,再加串結(jié)束符 for(i=0。i17。i++) (str1[i])。 for(i=0。i17。i++) (str1[i])。 while(!()) cout()。 //先進(jìn)先出,串結(jié)束符成為空格放最前面 coutendl。 if(()) cout隊(duì)空endl。 return 0。}解2:在這里的第2種方法中采用類似STL中隊(duì)適配器的做法,鏈表作為隊(duì)的成員對(duì)象,采用聚合技術(shù)。鏈表類不作為結(jié)點(diǎn)類的友元類。采用適配器技術(shù),可以通過模板類型參數(shù)選擇編程者認(rèn)可的任一種合適的線性表類對(duì)象作為放置數(shù)據(jù)的容器。//includetemplatetypename Tclass Queue{ listT que。public: Queue():que(){} //構(gòu)造一個(gè)空鏈隊(duì) ~Queue(){}。 bool IsEmpty(){ return ()。} //隊(duì)空否? void EnQue(const T amp。data){(data)。} //進(jìn)隊(duì) T DeQue(){return ()。} //出隊(duì) T GetFront(){return ()。} //查看隊(duì)頭數(shù)據(jù) void MakeEmpty(){()。}//置空隊(duì)列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。data){(data)。} //從隊(duì)頭入隊(duì)}。int main(){ int i。 Queuechar que。 char str1[]=abcdefghijklmnop。// 18元素?cái)?shù)組,17個(gè)字符,再加串結(jié)束符 for(i=0。i17。i++) (str1[i])。 for(i=0。i17。i++) (str1[i])。 while(!()) cout()。//先進(jìn)先出,串結(jié)束符成為空格放最前面 coutendl。 if(()) cout隊(duì)空endl。 return 0。}//includeiostreamincludecassertusing namespace std。templatetypename Tclass Queue。templatetypename Tclass Node{ T info。 NodeT *link。public: Node(){link=NULL。} Node(T data,Node *l=NULL)。 T Getinfo(){return info。}。 //獲得結(jié)點(diǎn)數(shù)據(jù) NodeT* Getlink(){return link。}。 //獲得結(jié)點(diǎn)的指針 void Setinfo(T data){info=data}。 //設(shè)置結(jié)點(diǎn)數(shù)據(jù) void Setlink(NodeT * pNext){link=pNext。} //設(shè)置結(jié)點(diǎn)的指針}。templatetypename T NodeT::Node(T data,Node *l){ info=data。 link=l。}。templatetypename Tclass list{ NodeT *front,*rear。public: list(){rear=front=NULL。} //構(gòu)造一個(gè)空鏈 ~list()。 bool IsEmpty(){ return front==NULL。} //鏈空否? void EnRear(const T amp。)。 //進(jìn)鏈 T DeFront()。 //出鏈 T GetFront()。 //查看鏈頭數(shù)據(jù) void MakeEmpty()。 //置空鏈,與析構(gòu)邏輯上不同,物理上一樣 void EnFront(const T amp。)。 //從鏈頭入鏈}。templatetypename Tvoid listT::MakeEmpty(){ NodeT *temp。 while(front!=NULL){ temp=front。fro
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1