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

正文內(nèi)容

構(gòu)造數(shù)據(jù)類型ppt課件(專業(yè)版)

2024-12-15 23:07上一頁面

下一頁面
  

【正文】 //head指向第一個(gè)結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)。 ? 圖示為: head p a1 a2 an NULL ? 如果刪除鏈表的最后一個(gè)結(jié)點(diǎn),則進(jìn)行下面的操作: Node *q1=NULL,*q2=head。 //沒有下一個(gè)結(jié)點(diǎn)了 q = qnext。 //把新結(jié)點(diǎn)的 next成員置為 NULL。 ? 如果每個(gè)元素只包含一個(gè)指針,則稱為 單鏈表 ,否則稱為 多鏈表 。 i++) q[i] = p[i]。 // 危險(xiǎn) 動(dòng)態(tài)變量的應(yīng)用 ―― 動(dòng)態(tài)數(shù)組 ? 對(duì)輸入的若干個(gè)數(shù)進(jìn)行排序,如果輸入時(shí)先輸入數(shù)的個(gè)數(shù),然后再輸入各個(gè)數(shù),則可用下面的動(dòng)態(tài)數(shù)組來表示這些數(shù): int n。 ?如果創(chuàng)建的是動(dòng)態(tài)對(duì)象, new會(huì)去調(diào)用相應(yīng)對(duì)象類的構(gòu)造函數(shù),而 malloc則否。 //分配一個(gè)全新的內(nèi)存空間,等同于: int* p = (int *) malloc(sizeof(int) * 10)。 介紹三個(gè)有用的內(nèi)存申請(qǐng)函數(shù) 或: (1) malloc(m) — 將總共需要的字節(jié)數(shù)作為參數(shù)傳遞給該函數(shù),返回值是指向最新分配的內(nèi)存的指針,而如果內(nèi)存沒有分配好,則返回值是 NULL。 i++) cin a[i]。 } ? 不能把局部量的地址作為指針返回給調(diào)用者 。 //Error //p為 指向常量的指針常量 int x, y。 p = amp。 } 輸出: a=1,b=0 向函數(shù)傳遞大型的結(jié)構(gòu)類型數(shù)據(jù) struct A { int no。 y = t。a[0],q=amp。a[0]。 ...... cout (*p).i pd endl。x; 指針間接訪問操作的例子 ? 執(zhí)行操作: “ x = 1。 //OK, p1指向 p所指向的變量。 ? int x ? ... amp。 } //end of switch } //end of for ? 圖形的輸出: for (int i=0。 do { cout 請(qǐng)輸入圖形的種類 (0:線段 ,1:矩形 ,2:圓 ,1:結(jié)束 ):。 union Figure { FigureShape shape。 struct Circle { double x, y, r。例如: = 12。 char c。 ? 在定義一個(gè)結(jié)構(gòu)類型時(shí) ,不能對(duì)其成員進(jìn)行初始化 ,例如: struct A { int i=1。 ? ...... ? 不同結(jié)構(gòu)類型的成員的名字可以相同,并且,它們還可以與程序中非結(jié)構(gòu)成員的名字相同: struct A { char name[10]。 char birth_place[40]。 if (in_circle[index]) count++。 ?用變量 num_of_children_remained表示圈中剩下的小孩數(shù)目,其初始值為 N。 //Error 二維數(shù)組降為一維數(shù)組處理 int sum(int x[], int num) { int s=0。 ? 行數(shù)為 3 二維數(shù)組的存貯 ? 在 C++中,二維數(shù)組元素是按照行來存儲(chǔ)的,即先是第一行的元素;再是第二行的元素; ... 。 a[i][j] = a[j][i]。 j++) sum += a[i][j]。 //由 10行、 5列 int型元素 //所構(gòu)成的二維數(shù)組類型 ? 二維數(shù)組類型變量的定義格式: ? 二維數(shù)組類型名 二維數(shù)組變量名 。 cin str。 char s[10]=hello。)。) return 0。 return j。 ? 初始化表中的值可以少于數(shù)組元素個(gè)數(shù),不足部分的數(shù)組元素初始化成 0。 i++) cin a[i]。 cout 第 n 個(gè)費(fèi)波那契數(shù)是: fibs[n1] endl。 ..... a = b。 //由 10個(gè) int型元素所構(gòu)成的 //一維數(shù)組類型 ? 一維數(shù)組類型變量定義格式為: ?一維數(shù)組類型名 一維數(shù)組變量名 ; 或 ?元素類型 一維數(shù)組變量名 [元素個(gè)數(shù) ]。 break。 break。 d = (Day)(d+1) //OK ? 不能對(duì)枚舉類型的值直接進(jìn)行輸入 ,可以進(jìn)行輸出 。 //OK ? day = 1。 默認(rèn)情況下 ,第一個(gè)枚舉值對(duì)應(yīng)常量值 0, 其它的值為前一個(gè)值加 1。 枚舉類型的定義 ? 枚舉類型是由用戶自定義的一種簡(jiǎn)單數(shù)據(jù)類型。 //C語言風(fēng)格 ( 3) enum 枚舉類型名 {枚舉值表 } 枚舉類型變量名 。 //OK,但不安全 = day=(day)1。 switch (i) { case 0: d = SUN。 } ...... switch (d) { case SUN: cout SUN endl。 ? 變量之間缺乏顯式的聯(lián)系。程序員必須仔細(xì)處置這個(gè)問題!如: a[i]中 i的取值 ? 可把數(shù)組的每個(gè)元素看成是獨(dú)立的變量 。 cin n。 i++) if (a[i] max) max = a[i]。 a[j] = temp。 //輸出數(shù)組 a所占的內(nèi)存字節(jié)數(shù)。 ? 在 C++中,通常用元素類型為 char的一維數(shù)組(字符數(shù)組)來表示字符串類型。 return n。l39。 ? 字符串拼接 ? char *strcat(char dst[],const char src[])。 return 0。 ? a[0][0]、 a[0][1]、 ...、 a[9][0]、 ...、 a[9][4] ? 以行為單位訪問,例如: ? int a[10][5]。 jN。 cout endl。 return s。 例 :矩陣乘法 C=A*B ? 分析 :矩陣 A、 B、 C用數(shù)組表示,分別 A、B的數(shù)據(jù)由鍵盤輸入。 //開始報(bào)數(shù) index = N1。 cout The winner is No. index .\n。 例: struct Student st; //c語言風(fēng)格 ( 3) struct 結(jié)構(gòu)類型名 {成員表 } 結(jié)構(gòu)類型 變量名 。 ... name ... //全局變量 name。例如 : ?Student st。 //變量 a賦一個(gè) int型的值 ...... //把 a當(dāng)作 int型來用 = 39。 ? 一組圖形數(shù)據(jù)可用一個(gè)一維數(shù)組表示: const int MAX_NUM_OF_FIGURES=100。 }。 figures[i]. = 100。 cout 請(qǐng)輸入矩形的左上角和右下角坐標(biāo) (x1,y1,x2,y2):。 ? 指針是內(nèi)存地址的抽象表示,一個(gè)指針代表了一個(gè)內(nèi)存地址。 p = amp。 指針賦值操作 間接訪問操作 (*和 ) ? 可以通過 “ *” 來訪問一個(gè)指針變量指向的變量 , 例如: int x。 *p = 2。 例如: int a[10]。a[0]。 //輸出 x的值 char str[]=ABCD。 } int main() { int a=0,b=1。 ...... ...max(a,10)... .... } int main() { int a[10]。y。 ...... } 指向常量的指針作為函數(shù)形參類型 指針作為函數(shù)返回值類型 ? 函數(shù)的返回值類型可以是一個(gè)指針類型 。 int *q=g()。例如: ? int *p,*q。 ■ ( 3) realloc(p, m ) — realloc 可以對(duì)給定的空間進(jìn)行擴(kuò)大或者縮小,無論是擴(kuò)張或是縮小,原有內(nèi)存的中內(nèi)容將保持不變。 //撤消 q指向的動(dòng)態(tài)數(shù)組 或 ?free(q)。 p = amp。 ? 對(duì)輸入的若干個(gè)數(shù)進(jìn)行排序,在輸入時(shí),先輸入各個(gè)數(shù),最后輸入一個(gè)結(jié)束標(biāo)記(如: 1),這時(shí),可以按以下方式實(shí)現(xiàn): const int INCREMENT=10。 int *q=( int*) realloc ( max_len*sizeof( int)) 。 //產(chǎn)生一個(gè)動(dòng)態(tài)變量來表示新結(jié)點(diǎn)。 pnext = NULL。 cout 沒有第 i 個(gè)結(jié)點(diǎn) \n。 //把頭指針置為 NULL。 //當(dāng)前結(jié)點(diǎn)的序號(hào),初始化為 1 while (j i1) 。 else //鏈表中只有一個(gè)結(jié)點(diǎn)。 //把新結(jié)點(diǎn)指定為 q所指向結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)。 //循環(huán)結(jié)束后, q指向鏈表最后一個(gè)結(jié)點(diǎn) qnext = p。 //頭指針變量定義,初始狀態(tài)下 //為空值。 ...... delete []p。 sort(p,n)。例如: int x,*p。 //撤消 p指向的 int型動(dòng)態(tài)變量 或 ?free(p)。將需要的存儲(chǔ)空間數(shù)量和單個(gè)空間的字節(jié)數(shù)作為參數(shù)傳遞給該函數(shù)。 sort(a,n)。 } int main() {int x 。 例如: void g(const A *p) //A為一個(gè)結(jié)構(gòu)類型 { ...... pno = ... //Error,不能改變 p所指向的數(shù)據(jù)。x。 ...... } 再論數(shù)組作為參數(shù)傳遞 ? 在 C++中,數(shù)組參數(shù)的默認(rèn)傳遞方式是把實(shí)參數(shù)組的首地址傳給函數(shù),以提高參數(shù)傳遞效率。 *px = *py。 cout p。 例如: int a[10]。x + 2。 p = amp。 p = (int *)120。y。 break。 break。 figures[i]. = 10。 struct Line { FigureShape place_holder。 ... ... //使用數(shù)組 a ...... ... ... //使用數(shù)組 b ...... 例 13:從鍵盤輸入一組圖形數(shù)據(jù),然后輸出相應(yīng)的圖形。 //輸出: 8 ? 作用 :在程序運(yùn)行的不同時(shí)刻中,可以給一個(gè)聯(lián)合類型的變量賦予不同類型的數(shù)據(jù),例如: A a。 } a={1, }。 ... ... //結(jié)構(gòu)變量 a的成員變量 name。 ? 結(jié)構(gòu)類型變量的定義格式如下: ( 1) 結(jié)構(gòu)類型名 結(jié)構(gòu)類型 變量名 。 indexN。 indexN。 cout sum(b[0],20*5) endl。 j5。 j++) cout a[i][j] 39。 iN。 二維數(shù)組的操作 ? 訪問二維數(shù)組元素,格式是: 二維數(shù)組變量名 [下標(biāo) 1][下標(biāo) 2] ? 下標(biāo) 1和 下標(biāo) 2為整型表達(dá)式,均從 0開始。 str[j] = temp。 ? 字符串復(fù)制 ? char *strcpy(char dst[],const char src[])。l39。039。 ? 為了提高數(shù)組傳遞的效率,數(shù)組作為函數(shù)參數(shù)傳遞時(shí)實(shí)際傳遞的是 數(shù)組在內(nèi)存中的首地址 ,函數(shù)的形參數(shù)組不再分配內(nèi)存空間,它 共享 實(shí)參數(shù)組的內(nèi)存空間。例如: ? int a[10]。 //保持 j為最大元素的下標(biāo) //交換 a[j]和 a[n1]的值 int temp=a[n1]。 //首先假設(shè)第 0個(gè)元素最大 for (i=1。 int n,i。 ? 訪問一維數(shù)組元素 ?格式: 一維數(shù)組變量名 [下標(biāo) ] ? 下標(biāo) 為整型表達(dá)式 ? 第一個(gè)元素的下標(biāo)為: 0 ?例如: ? int a[10]。 } return 0。 default: cout Input Error! endl。 int i。 //OK ? d1 = a。 ( 2) enum 枚舉類型名 枚舉類型變量名 例: enum Day{SUN,MON,TUE,WED,THU,FRI,SAT}。 ? 構(gòu)造數(shù)據(jù)類型屬于用戶自定義數(shù)據(jù)類型。例如: ? enum Day {SUN=7,MON=1,TUE,WED,THU,FRI,SAT}。 ? day = RED。 cin d。 break。 break。 ? A a。 i10。 } 例 3:從鍵盤輸入 10個(gè)數(shù),輸出其中的最大值 ...... int main() { int a[10]。 n1。 //b[4]~b[9]為 0 ? 如果每個(gè)元素都進(jìn)行了初始化 , 則數(shù)組元素個(gè)數(shù)可以省略 。例如: int a[10],b[20],index_max。039。 } 字符數(shù)組的初始化 char s[10
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1