數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)PPT學(xué)習(xí)教案_第1頁
數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)PPT學(xué)習(xí)教案_第2頁
數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)PPT學(xué)習(xí)教案_第3頁
數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)PPT學(xué)習(xí)教案_第4頁
數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北數(shù)據(jù)的組織結(jié)構(gòu)二高級語言程序設(shè)計北京工業(yè)大學(xué)京工業(yè)大學(xué)第1頁/共111頁聲明的是數(shù)據(jù)類型,不是變量!第2頁/共111頁p1p1p111zhang1張一整型大小10個字符大小第3頁/共111頁第4頁/共111頁第5頁/共111頁第6頁/共111頁學(xué)號學(xué)號int num;姓名姓名char name24;出生日期出生日期自定義一個結(jié)構(gòu):年、月、日自定義一個結(jié)構(gòu):年、月、日所屬院系所屬院系char department48;專業(yè)專業(yè)char major32;第7頁/共111頁第8頁/共111頁第9頁/共111頁第10頁/共111頁第11頁/共111頁主模塊main()

2、輸入模塊inputIofo()查詢處理模塊searchInfo()輸出模塊outputInfo第12頁/共111頁第13頁/共111頁第14頁/共111頁第15頁/共111頁第16頁/共111頁intptr0 x0012ff78一個地址大小chptr0 x0012ff70一個地址大小指針是變量是地址變量第17頁/共111頁第18頁/共111頁intptr0 x0012ff780 x0012ff78chptr0 x0012ff700 x0012ff700aci第19頁/共111頁intptr30第20頁/共111頁intptr1intptr2NULLi第21頁/共111頁第22頁/共111頁0

3、1 2 3 4 5 6 7 8 9dataint data10;第23頁/共111頁 strchr函數(shù)返回指針,指針相減定位位置第24頁/共111頁 逆序第25頁/共111頁第26頁/共111頁第27頁/共111頁第28頁/共111頁第29頁/共111頁/打印整型數(shù)組指定的行。j:行號(0開始),rowD:行長度,p:指向數(shù)組第一個元素的指針void pr_row(int j, int rowD, int *p) int i; p = p + ( j*rowD ) ; for( i=0; irowD; i+ ) printf(“%d ”, *( p+i ) ); 第30頁/共111頁a00a0

4、1a10a11a20a21a0a0a1a2第31頁/共111頁a00 a01 a10 a11a20 a21a0a1a2a0, a1, a2,一維數(shù)組的首地址,是指針。用指針定位二維數(shù)組元素:i 代表行,j 代表列int *ptr=a0; 元素: * (ptr + i*列數(shù) + j)第32頁/共111頁可替換:ptr1 = &a00;ptr1 = (int *) a;第33頁/共111頁書錯int (*ptr2)COLNUM; 與 int *ptr2COLNUM; 區(qū)別int *ptr2COLNUM; / 是整型指針的數(shù)組int (*ptr2)COLNUM; /指向整型指針的指針數(shù)組第3

5、4頁/共111頁int a10;int * b3;b0 = &a0;for( i=0; i=a-1 & cz) c+; /處理c return 0; else return -1;第56頁/共111頁第57頁/共111頁int main() int n = NUM ; int * data; int MySelected; input(&data); MySelected = max(data, n); output( MySelected ); return 0;int input(int *value) int i ; *value=(int*)malloc(siz

6、eof(int)*NUM ) ; if( ! *value ) return -1; /-1代表申請存儲空間失敗 printf(請輸入%d個整型數(shù):, NUM); for( i=0; iNUM; i+ ) scanf(%d, *value+i) ; return 0; /函數(shù)成功返回第58頁/共111頁int main() int n = NUM ; int * data; int MySelected; input(data); MySelected = max(data, n); output( MySelected ); return 0;int input(int *value) in

7、t i ; value=(int*)malloc(sizeof(int)*NUM ) ; if( ! value ) return -1; /-1代表申請存儲空間失敗 printf(請輸入%d個整型數(shù):, NUM); for( i=0; idata) ) ; L-next = NULL ; /先建立第一個結(jié)點 p = L ; while ( 結(jié)束條件表達(dá)式 ) s = (node *)malloc( sizeof(node) ); scanf(%d, &(s-data) ) ; s-next = NULL ; p-next = s; p = s ; /CreateList_E第65頁/

8、共111頁a1a2ana3L.L第66頁/共111頁void CreateList_E( node * L ) /正序輸入元素的值,建立帶頭結(jié)點的單鏈表L node *p, *s; L = (node *)malloc( sizeof(node) ); L-next = NULL ; /先建立一個帶頭結(jié)點的單鏈表 p = L ; while ( 結(jié)束條件表達(dá)式 ) s = (node *)malloc( sizeof(node) ); scanf(%d, &(s-data) ) ; s-next = NULL ; p-next = s; p = s ; /CreateList_E第67

9、頁/共111頁a1a2ana3L.在此插入應(yīng)逆序插入頭結(jié)點第68頁/共111頁void CreateList_L( node *L ) /逆序輸入n個元素的值,建立帶頭結(jié)點的單鏈表L node *p; L = (node *)malloc( sizeof(node) ); L-next = NULL ; /先建立一個帶頭結(jié)點的空的單鏈表 for ( i = n ; i 0 ; - -i ) p = (node *)malloc( sizeof(node) ); /生成新結(jié)點 scanf(%d, &(p-data) ) ; p-next = L-next ; /插入到表頭 L-next

10、= p ; /createList_L體會有頭結(jié)點的好處第69頁/共111頁a1a2ana3L.第70頁/共111頁5353xPPSai-1ai12第71頁/共111頁int ListInsert_L(node *L, int i, int x) node *s, *p=L; int j=0; while( p & jnext; +j; /尋找第i-1結(jié)點 if( ! p | ji-1 ) return -1; / i小于1或大于(表長+1) s=(node*)malloc(sizeof(node); /生成新結(jié)點 s-data=x; s-next=p-next; p-next=s;

11、return 0; anaia1a2ai-1xL第72頁/共111頁ai-1a1aiai+1Lpq第73頁/共111頁第74頁/共111頁第75頁/共111頁第76頁/共111頁第77頁/共111頁第78頁/共111頁第79頁/共111頁第80頁/共111頁第81頁/共111頁的值為-1第82頁/共111頁第83頁/共111頁第84頁/共111頁第85頁/共111頁第86頁/共111頁第87頁/共111頁第88頁/共111頁第89頁/共111頁第90頁/共111頁第91頁/共111頁第92頁/共111頁第93頁/共111頁第94頁/共111頁第95頁/共111頁第96頁/共111頁第97頁/共111頁第98頁/共111頁第99頁/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論