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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]鏈表c。ppt-資料下載頁(yè)

2025-10-10 04:20本頁(yè)面
  

【正文】 p 演示 空指針 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 這里 delete p 是釋放 p 結(jié)點(diǎn)所占用的內(nèi)存空間的語(yǔ)句。如果 mm 不是 1 而是 3,程序會(huì)在 dowhile 循環(huán)中,讓 x 加兩次 1, q 和 p 一起移動(dòng)兩次, p 指向 3所在結(jié)點(diǎn), q 指向 2 所在結(jié)點(diǎn),之后仍然用上述四條語(yǔ)句刪去 3 所在的結(jié)點(diǎn)。 1 head 2 8 q p 3 4 q 演示 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 這個(gè) dowhile循環(huán)的退出條件是 q== qnext。即當(dāng)只剩下一個(gè)結(jié)點(diǎn)時(shí)才退出循環(huán)。當(dāng)然猴王非其莫屬了。這時(shí),讓頭指針 head 指向 q, head 是全局變量,在主程序最后輸出猴王時(shí)要用 headnum。 參考程序如下: 7 head q 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 //************************************ //* 程 序 名: * //* 作 者: wuwh * //* 編制時(shí)間: 2021年 12月 11日 * //* 主要功能: 猴子選大王 * //************************************ include // 預(yù)編譯命令 struct monkey // 結(jié)構(gòu)聲明 { int num。 // 整型數(shù) , 用于記錄猴子號(hào) monkey *next。 // monkey結(jié)構(gòu)指針 }。 monkey *head, *tail。 // monkey結(jié)構(gòu)指針,全局變量 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 void create(int nn) // 被調(diào)用函數(shù) { // 函數(shù)體開始 int i。 // 整型變量 i,用于計(jì)數(shù) monkey *p,*q。 // 聲明 monkey結(jié)構(gòu)指針 // 為 p分配內(nèi)存空間 p=new monkey。 pnum=1。 // 初始化 p結(jié)點(diǎn) num域?yàn)?1 pnext=NULL。 // 初始化 p結(jié)點(diǎn) next域?yàn)榭? head=p。 // 鏈表頭指針 head賦值為 p q=p。 // q賦值為 p 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 for(i=2。i=nn。i=i+1) // 利用循環(huán)結(jié)構(gòu)構(gòu)造鏈表 { // 循環(huán)體開始 p=new monkey。 // 為 p分配內(nèi)存空間 pnum=i。 // 初始化 p結(jié)點(diǎn) num域?yàn)?i,表 示猴子號(hào) qnext=p。 // 將 p結(jié)點(diǎn)加到鏈表尾部 q=p。 // 讓 q指向鏈表尾部結(jié)點(diǎn) pnext=NULL。 // 鏈表尾部指向空 } // 循環(huán)體結(jié)束 tail = q。 // 鏈表尾 tailnext=head。 // 鏈表尾部指向鏈表頭 } // 函數(shù)體結(jié)束 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 // 被調(diào)用函數(shù) select, mm表示結(jié)點(diǎn)刪除間隔 void select(int mm) { // 函數(shù)體開始 int x=0。 // 聲明整型值 x,并初始化為 0 monkey *p,*q。 // 聲明結(jié)構(gòu)指針 p, q q=tail。 // q賦值為 tail,指向循環(huán)鏈表尾部 do // 直到型循環(huán),用于循環(huán)刪除指定間隔的結(jié)點(diǎn) { // 循環(huán)體開始 p=qnext。 // p賦值為 q相鄰的下一個(gè)結(jié)點(diǎn) x=x+1。 // x加 1 if(x % mm==0) // x是否整除 mm, { // 表示是否跳過(guò)指定間隔 // 輸出被刪掉的猴子號(hào) cout 被刪掉的猴子號(hào)為 pnum 號(hào) \n。 qnext=pnext。// 刪除此結(jié)點(diǎn) delete p。 // 釋放空間 p=NULL。 // p賦值為空 } else q=p。 // q指向相鄰的下一個(gè)結(jié)點(diǎn) p }while(q!=qnext)。 // 剩余結(jié)點(diǎn)數(shù)不為 1,則繼續(xù)循環(huán) head = q。 // head指向結(jié)點(diǎn) q, q為鏈表中剩余的一個(gè)結(jié)點(diǎn) } // 函數(shù)體結(jié)束 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 do // 直到型循環(huán),用于循環(huán)刪除指定間隔的結(jié)點(diǎn) { p=qnext。 // p賦值為 q相鄰的下一個(gè)結(jié)點(diǎn) x=x+1。 // x加 1 if(x % mm==0) // x是否整除 mm, { // 是否跳過(guò)指定間隔 cout 被刪掉的猴子號(hào)為 pnum 號(hào) \n。 qnext=pnext。 // 刪除此結(jié)點(diǎn) delete p。 // 釋放空間 p=NULL。 } // p賦值為空 else q=p。 // q指向相鄰的下一個(gè)結(jié)點(diǎn) p } while(q!=qnext)。// 剩余結(jié)點(diǎn)數(shù)不為 1,則繼續(xù)循環(huán) head = q。 // q為鏈表中剩余的一個(gè)結(jié)點(diǎn) } // 函數(shù)體結(jié)束 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 void main() // 主函數(shù)開始 { // 函數(shù)體開始 int n,m。 // 聲明整型變量 n,m head=NULL。 // 初始化 head為空 cout 請(qǐng)輸入猴子數(shù) \n。// 提示信息 cin n。 // 輸入待插入結(jié)點(diǎn)數(shù)據(jù) cout 請(qǐng)輸入間隔 m\n。// 提示信息 cin m。 // 輸入間隔 create(n)。 // 調(diào)用函數(shù) create建立循環(huán)鏈表 select(m)。 // 調(diào)用函數(shù) select,找出剩下的猴子 cout 猴王是 headnum 號(hào) \n。 // 輸出猴王 } // 函數(shù)體結(jié)束 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 本 章 小 結(jié) int *p[4] 數(shù)組元素是指針變量,每個(gè)指針變量都指向整形數(shù) 指針變量的定義 int *p。 float *r。 char*q。 (1) *只是一個(gè)說(shuō)明符 —— 說(shuō)明其后的變量是指針變量,定義時(shí) * 不能省略。但 * 本身不是變量名的一部分。變量名是 p, 而不是 *p。 (2) 類型名表示指針變量所指向的變量的類型。 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 指針變量在定義同時(shí)初始化的含義 int c。 int *p=amp。c。 定義了整型數(shù) c 之后,定義指針 p 之后賦值為 amp。c。 int *p=amp。c。 等價(jià)于 int *p。 p = amp。c。 千萬(wàn)不能理解為 *p=amp。c。 否則就會(huì)誤認(rèn)為 *p 的初始值為 c 變量的地址了。 amp。c c amp。c p 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 與指針變量有關(guān)的兩個(gè)運(yùn)算符 (1) amp。 取地址運(yùn)算符 int c。 amp。c —— 表示變量 c 的地址。 讓 int *p。 p = amp。c。 // 讓指針 p 指向變量 c (2) * 指針運(yùn)算符 *p —— p 指針?biāo)赶虻淖兞? 當(dāng)著 p = amp。c。 則 *p = c。 *p amp。c p c amp。c 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 若已有 定義 int *p。 賦值語(yǔ)句 p = amp。c。 則 *p = c amp。*p = amp。(*p) = amp。c = p *amp。c = *(amp。c) = *p = c 可見 amp。 與 * 運(yùn)算符放在一起,作用互相抵消。 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 引用的聲明 int *point。 int *amp。 pp = point。 聲明 pp 為指向整型變量的指針 point 的引用 不要給指針變量賦常數(shù)值 如 int *p。 p = 50。 // 不合法 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 在指針變量沒有指向確定的地址前,不要對(duì)尚不存在的所指向?qū)ο筚x值 int *p。 *p = 500。 // p 變量未初始化,可能是個(gè)隨機(jī)數(shù), // 將數(shù)寫進(jìn)以隨機(jī)數(shù)為地址的存儲(chǔ)空間, // 可能會(huì)破壞系統(tǒng)的正常工作狀態(tài) 建議: 先讓指針指對(duì)地方,再對(duì)其對(duì)象賦值 int *p。 int c。 p = amp。c。 *p = 500。 程序設(shè)計(jì)基礎(chǔ) 第 11章 鏈表 返回指針值的函數(shù) 如 int *function(int a, int b)。 類型名 * 函數(shù)名 ( 參數(shù)表 )。 指向函數(shù)的指針 函數(shù)有入口地址,函數(shù)名就是函數(shù)的入口地址??梢远x一個(gè)指針變量去指向函數(shù),之后通過(guò)指針來(lái)調(diào)用函數(shù)。比如有一個(gè)函數(shù) int func( int a, int b ),定義 int (*p)( int , int )。 // p 是指向函數(shù)的指針變量, // 函數(shù)的返回值為 int 型的 p = func。 // 讓 p 指向函數(shù) func( )
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1