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

正文內(nèi)容

unit07動態(tài)分配內(nèi)存空間-資料下載頁

2025-05-10 19:35本頁面
  

【正文】 s2。return 0。} 例 實現(xiàn)深復制 例 單鏈表類型模板 template typename T NodeT::Node(){link=NULL。} template typename T NodeT::Node(const T amp。 data){ info=data。 link=NULL。 } templatetypename T void NodeT::InsertAfter(NodeT* p){ plink=link。 link=p。 } templatetypename TNodeT* NodeT::RemoveAfter(){ NodeT* tempP=link。 if(link==NULL) tempP=NULL。 //已在鏈尾 ,后面無結(jié)點 else link=tempPlink。 return tempP。 } 例 單鏈表類型模板 鏈表類成員函數(shù): templatetypename TListT::List(){ head=tail=new NodeT()。 } templatetypename TListT::~List(){ MakeEmpty()。 delete head。 } templatetypename Tvoid ListT::MakeEmpty(){//清空鏈表 NodeT *tempP。 while(headlink!=NULL){ tempP=headlink。 headlink=tempPlink。 //把頭結(jié)點后的第一個結(jié)點從鏈中脫離 delete tempP。 } //刪除 (釋放 )脫離下來的結(jié)點 tail=head。 } //表頭指針與表尾指針均指向表頭結(jié)點,表示空鏈 例 單鏈表類型模板 鏈表類成員函數(shù): templatetypename T NodeT* ListT::Find(T data){ NodeT *tempP=headlink。 while(tempP!=NULLamp。amp。tempPinfo!=data) tempP=tempPlink。 return tempP。 //搜索成功返回該結(jié)點地址,不成功返回 NULL } templatetypename Tint ListT::Length(){ //鏈表長度 NodeT* tempP=headlink。 int count=0。 while(tempP!=NULL){ tempP=tempPlink。count++。} return count。 } 例 單鏈表類型模板 鏈表類成員函數(shù): templatetypename Tvoid ListT::PrintList(){//顯示鏈表 NodeT* tempP=headlink。 while(tempP!=NULL){ couttempPinfo39。\t39。 tempP=tempPlink。 } coutendl。} templatetypename Tvoid ListT::InsertFront(NodeT *p){ plink=headlink。 headlink=p。 if(tail==head) tail=p。} templatetypename Tvoid ListT::InsertRear(NodeT *p){ plink=taillink。 taillink=p。 tail=p。} 鏈表類成員函數(shù): templatetypename T void ListT::InsertOrder(NodeT *p){ NodeT *tempP=headlink,*tempQ=head。 //tempQ指向 tempP前面的一個結(jié)點 while(tempP!=NULL){ if(pinfotempPinfo)break。 //找第一個比插入結(jié)點大的結(jié)點,由 tempP指向 tempQ=tempP。 tempP=tempPlink。 } tempQInsertAfter(p)。 //插在 tempP指向結(jié)點之前, tempQ之后 if(tail==tempQ) tail=tempQlink。} templatetypename T NodeT* ListT::CreatNode(T data){ NodeT*tempP=new NodeT(data)。 return tempP。} 例 單鏈表類型模板 鏈表類成員函數(shù): templatetypename T NodeT* ListT::DeleteNode(NodeT* p){ NodeT* tempP=head。 while(tempPlink!=NULLamp。amp。tempPlink!=p) tempP=tempPlink。 if(tempPlink==tail) tail=tempP。 return tempPRemoveAfter()。 } //本函數(shù)所用方法可省一個工作指針,與 InsertOrder比較 例 單鏈表類型模板 例 單鏈表類型模板主函數(shù) void main(){ Nodeint * P1。 Listint list1,list2。 int a[16],i,j。 cout請輸入 16個整數(shù) endl。 for(i=0。i16。i++)cina[i]。 //隨機輸入 16個整數(shù) for(i=0。i16。i++){ P1=(a[i])。 (P1)。 //向前生成 list1 P1=(a[i])。 (P1)。 } //向后生成 list2 ()。 coutlist1長度: ()endl。 ()。 例 單鏈表類型模板主函數(shù) cout請輸入一個要求刪除的整數(shù) endl。 cinj。 P1=(j)。 if(P1!=NULL){ P1=(P1)。 delete P1。 ()。 coutlist1長度: ()endl。 } else cout未找到 endl。 ()。//清空 list1 for(i=0。i16。i++){ P1=(a[i])。 (P1)。 } //升序創(chuàng)建 list1 ()。 return 0。} 例 學生檔案的管理 include class student{ int id 。string name。char sex。 int age。string address。 float eng, phy, math, electron。 //英語,物理,數(shù)學和電子學成績 public: student(int=0,string=,char=39。\039。,int=0,string=, float=,float=,float=,float=)。 bool operator(student ele){return id。} bool operator!=(student ele){return id!=。} void show(){coutid39。\t39。name39。\t39。sex39。\t‘ age39。\t39。address39。\t39。eng39。\t39。phy39。\t‘ math39。\t‘electronendl。} }。 例 學生檔案的管理 注意,鏈表類定義中輸出函數(shù) PrintList()改寫為:templatetypename Tvoid ListT::PrintList(){ NodeT* tempP=headlink。 while(tempP!=NULL){ tempP()。 tempP=tempPlink。 } coutendl。 } 在 student類中采用 show()函數(shù)是一個無奈的選擇,因為插入運算符 的重載在 ,那時就不需要改寫PrintList(),而在 student類中重載插入運算符 。 例 學生檔案的管理 int main(){ const int h=4。 int i,j。 Nodestudent * P1。 Liststudent list1,list2。 student n[h]={ student(6004327,張菲 ,39。m39。,19,北京路 58號 ,80,85,90,78), student(6004121,關雨 ,39。w39。,19,天津路 64號 ,88,75,91,68), student(6004118,劉蓓 ,39。w39。,18,上海路 37號 ,78,95,81,88), student(6004219,趙昀 ,39。m39。,18,重慶路 95號 ,78,95,81,88),}。 for(i=0。ih。i++){ P1=(n[i])。 (P1)。 //向前生成 list1 P1=(n[i])。 (P1)。 } //向后生成 list2 ()。 例 學生檔案的管理 coutlist1長度: ()endl。 ()。 cout請輸入一個要求刪除的學生學號 endl。 cinj。 P1=(j)。 //學號由構(gòu)造函數(shù)轉(zhuǎn)換為學生類 if(P1!=NULL){ P1=(P1)。 delete P1。 ()。 coutlist1長度: ()endl。 } else cout未找到 endl。 ()。 //清空 list1 for(i=0。ih。i++){ P1=(n[i])。 (P1)。 } //升序創(chuàng)建 list1 ()。 return 0。} 【 例 】 雙向鏈表類模板和結(jié)點類模板 雙鏈表結(jié)點模板類: templatetypename T class DblNode{ T info。 //數(shù)據(jù)域 DblNodeT *llink,*rlink。//前驅(qū) (左鏈 )、后繼 (右鏈 )指針 public: DblNode(T data)。 //一般結(jié)點 DblNode()。 //頭結(jié)點 T Getinfo(){return info。}。 friend class DblListT。}。 templatetypename T DblNodeT::DblNode(){//一般結(jié)點 llink=rlink=NULL。} templatetypename T DblNodeT::DblNode(T data){ info=data。 //頭結(jié)點 llink=NULL。 rlink=NULL。 } 【 例 】 雙向鏈表類模板和結(jié)點類模板 雙鏈表模板類: templatetypename Tclass DblList{ DblNodeT *head,*current。 public: DblList()。 //建立表頭結(jié)點 ~DblList()。 void Insert(const T amp。 data)。 //鏈尾插入 DblNodeT* Remove(DblNodeT* p)。 //刪除定結(jié)點 void Print()。 //打印鏈表 int Length()。 //計算鏈表長度 DblNodeT *Find(T data)。 //搜索數(shù)據(jù)與定值相同的結(jié)點 void MakeEmpty()。 //清空鏈表 //其它操作 }。 【 例 】 雙向鏈表類模板和結(jié)點類模板
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1