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

正文內(nèi)容

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

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。 //注意先進后出 coutendl。 return 0。}//includecassertincludeiostreamusing namespace std。templatetypename Tclass seqlist{ int last。 //順序表最大下標 T *elements。 //動態(tài)建立的數(shù)組 int maxSize。 //順序表最大允納的元素個數(shù)public: seqlist(int=20)。 //順序表如不指定大小,設(shè)為20元素 ~seqlist(){delete[] elements。} void Push_back(const T amp。data)。 //順序表添加一個元素 T Pop_back()。 //順序表彈出一個元素,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]。 //建立棧空間 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。 //順序表下標先加1,元素再進順序表}templatetypename T T seqlistT::Pop_back(){ assert(!IsEmpty())。 //順序表已空則不能彈出,退出程序 return elements[last]。 //返回順序表最后一個元素,同時last減1}templatetypename T T seqlistT::GetElem(int i){ assert(i=lastamp。amp。i=0)。 //超出順序表有效范圍則出錯,退出程序 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。} 用單鏈表類來表示一個雙端隊列,要求可在表的兩端插入(鏈表頭和尾,即可用向前和也可用向后生成),但只能在表的一端刪除(鏈表頭)。給出基于此結(jié)構(gòu)隊列的兩個入隊和一個出隊算法的成員函數(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)造一個空鏈隊 ~Queue()。 bool IsEmpty(){ return front==NULL。} //隊空否? void EnQue(const T amp。)。 //進隊 T DeQue()。 //出隊 T GetFront()。 //查看隊頭數(shù)據(jù) void MakeEmpty()。 //置空隊列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。)。 //從隊頭入隊}。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){ //從隊頭入隊 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元素數(shù)組,17個字符,再加串結(jié)束符 for(i=0。i17。i++) (str1[i])。 for(i=0。i17。i++) (str1[i])。 while(!()) cout()。 //先進先出,串結(jié)束符成為空格放最前面 coutendl。 if(()) cout隊空endl。 return 0。}解2:在這里的第2種方法中采用類似STL中隊適配器的做法,鏈表作為隊的成員對象,采用聚合技術(shù)。鏈表類不作為結(jié)點類的友元類。采用適配器技術(shù),可以通過模板類型參數(shù)選擇編程者認可的任一種合適的線性表類對象作為放置數(shù)據(jù)的容器。//includetemplatetypename Tclass Queue{ listT que。public: Queue():que(){} //構(gòu)造一個空鏈隊 ~Queue(){}。 bool IsEmpty(){ return ()。} //隊空否? void EnQue(const T amp。data){(data)。} //進隊 T DeQue(){return ()。} //出隊 T GetFront(){return ()。} //查看隊頭數(shù)據(jù) void MakeEmpty(){()。}//置空隊列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。data){(data)。} //從隊頭入隊}。int main(){ int i。 Queuechar que。 char str1[]=abcdefghijklmnop。// 18元素數(shù)組,17個字符,再加串結(jié)束符 for(i=0。i17。i++) (str1[i])。 for(i=0。i17。i++) (str1[i])。 while(!()) cout()。//先進先出,串結(jié)束符成為空格放最前面 coutendl。 if(()) cout隊空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é)點數(shù)據(jù) NodeT* Getlink(){return link。}。 //獲得結(jié)點的指針 void Setinfo(T data){info=data}。 //設(shè)置結(jié)點數(shù)據(jù) void Setlink(NodeT * pNext){link=pNext。} //設(shè)置結(jié)點的指針}。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)造一個空鏈 ~list()。 bool IsEmpty(){ return front==NULL。} //鏈空否? void EnRear(const T amp。)。 //進鏈 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
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1