C語言程序設(shè)計——結(jié)構(gòu)體和共用體(完整版)_第1頁
C語言程序設(shè)計——結(jié)構(gòu)體和共用體(完整版)_第2頁
C語言程序設(shè)計——結(jié)構(gòu)體和共用體(完整版)_第3頁
C語言程序設(shè)計——結(jié)構(gòu)體和共用體(完整版)_第4頁
C語言程序設(shè)計——結(jié)構(gòu)體和共用體(完整版)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、n問題:問題: 有時需要將不同類型的數(shù)據(jù)組合成一個有機(jī)的整體,以便于引用。如:如:一個學(xué)生有學(xué)號/姓名/性別/年齡/地址等屬性 int num; char name20; char sex; int age; int char addr30; 100101 Li Fun M 18 87.5 Beijing num name sex age score addr結(jié)構(gòu)是一種構(gòu)造數(shù)據(jù)類型結(jié)構(gòu)是一種構(gòu)造數(shù)據(jù)類型(“結(jié)構(gòu)結(jié)構(gòu)”是由若干個成員組是由若干個成員組成的成的),在使用之前必須先定義,然后才能用來定義,在使用之前必須先定義,然后才能用來定義相應(yīng)的結(jié)構(gòu)體變量、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針變量。相應(yīng)的結(jié)構(gòu)體

2、變量、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針變量。結(jié)構(gòu)體類型一般形式:結(jié)構(gòu)體類型一般形式:struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 成員列表成員列表 ;其中各成員都應(yīng)進(jìn)行類型說明,即其中各成員都應(yīng)進(jìn)行類型說明,即類型名類型名 成員名;成員名;例:例:struct student int num; char name20; char sex; int age; float score; char addr30; ;(1)先聲明結(jié)構(gòu)類型,再定義結(jié)構(gòu)體變量先聲明結(jié)構(gòu)類型,再定義結(jié)構(gòu)體變量例:例:struct student int num; char name20; float score; ; struct student

3、 stu1, stu2;(2)在聲明結(jié)構(gòu)類型的同時定義結(jié)構(gòu)體變量在聲明結(jié)構(gòu)類型的同時定義結(jié)構(gòu)體變量例:例:struct student int num; char name20; float score; stu1, stu2;(3)直接定義結(jié)構(gòu)體類型變量直接定義結(jié)構(gòu)體類型變量例:例:struct int num; char name20; float score; stu1, stu2; 一般對結(jié)構(gòu)體變量的使用,包括賦值、輸入、一般對結(jié)構(gòu)體變量的使用,包括賦值、輸入、輸出、運(yùn)算等都是通過其輸出、運(yùn)算等都是通過其成員成員來實(shí)現(xiàn)的。來實(shí)現(xiàn)的。結(jié)構(gòu)體變量成員的表示方法:結(jié)構(gòu)體變量成員的表示方法:結(jié)

4、構(gòu)體變量名結(jié)構(gòu)體變量名.成員名成員名例:例:stu1.num (學(xué)生學(xué)生1的學(xué)號的學(xué)號) stu1.score(學(xué)生學(xué)生1的分?jǐn)?shù)的分?jǐn)?shù)) 和其他類型變量一樣,定義結(jié)構(gòu)體變量的同時,和其他類型變量一樣,定義結(jié)構(gòu)體變量的同時,給它的成員賦初值。給它的成員賦初值。例:例:#include void main( ) struct student int num; char name20; float score; stu1=1301,”Zhang San”,82.50; printf(“No.%d,Name:%s,Score:%fn”, stu1.num,,stu1.score);

5、通過輸入語句或賦值語句,實(shí)現(xiàn)對結(jié)構(gòu)體變量的通過輸入語句或賦值語句,實(shí)現(xiàn)對結(jié)構(gòu)體變量的成員賦值。成員賦值。例:例:#include void main( ) struct student int num; char name20; float score; stu1; stu1.num=1301; =”Zhang San”; scanf(“%f”,&stu1.score); printf(“No.%d,Name:%s,Score:%fn”, stu1.num,,stu1.score); 一個結(jié)構(gòu)體的成員又是一個結(jié)構(gòu)體。一個結(jié)構(gòu)體的成員又是一個結(jié)構(gòu)體。例

6、:例: struct date struct student int month; int num; int day; char name20; int year; char sex; int age; struct date birthday; char addr30; ; birthdaynum name sex age addr month day year 結(jié)構(gòu)體數(shù)組的每一個元素都是具有相同結(jié)構(gòu)類型結(jié)構(gòu)體數(shù)組的每一個元素都是具有相同結(jié)構(gòu)類型的結(jié)構(gòu)體變量。的結(jié)構(gòu)體變量。例:例:struct student int num; char name20; float score; stu3;其

7、中,定義了一個結(jié)構(gòu)體數(shù)組其中,定義了一個結(jié)構(gòu)體數(shù)組stu,共有,共有3個元素,個元素,每個元素都具有每個元素都具有struct student的結(jié)構(gòu)形式。的結(jié)構(gòu)形式。例:例:struct student int num; char name20; float score; stu3=1301,”Zhang San”,57, 1302,“Li Si”,82.50,1303,“Wang Wu”,69;當(dāng)對全部元素進(jìn)行初始化賦值時,也可以不給出長度。當(dāng)對全部元素進(jìn)行初始化賦值時,也可以不給出長度。12.4.1指向結(jié)構(gòu)體變量的指針指向結(jié)構(gòu)體變量的指針一般形式為:一般形式為:struct 結(jié)構(gòu)名結(jié)構(gòu)名

8、*結(jié)構(gòu)體指針變量名;結(jié)構(gòu)體指針變量名; 例:例:struct student int num; char name20; float score; ; struct student *pstu;其中定義了一個指向其中定義了一個指向student的指針變量的指針變量pstu。12.4.1指向結(jié)構(gòu)體變量的指針變量指向結(jié)構(gòu)體變量的指針變量用結(jié)構(gòu)體指針變量,訪問結(jié)構(gòu)體變量的各個成員用結(jié)構(gòu)體指針變量,訪問結(jié)構(gòu)體變量的各個成員,一般形式為:一般形式為:(*結(jié)構(gòu)體指針變量結(jié)構(gòu)體指針變量).成員名;成員名;或或 結(jié)構(gòu)體指針變量結(jié)構(gòu)體指針變量- 成員名;成員名; 例:例: (*pstu).num 或或 pstu

9、- num 例:例:#include void main( ) struct student int num; char name20; float score; stu1=1301,”Zhang San”,82.50,*pstu; pstu=&stu1; printf(“No.%d,Name:%s,Score:%fn”, stu1.num,,stu1.score); printf(“No.%d,Name:%s,Score:%fn”, (*pstu).num, (*pstu). name, (*pstu). score); printf(“No.%d,Name:%s,

10、Score:%fn”, pstu-num, pstu- name, pstu- score);12.4.2指向結(jié)構(gòu)體數(shù)組的指針變量指向結(jié)構(gòu)體數(shù)組的指針變量結(jié)構(gòu)體指針變量可指向一個結(jié)構(gòu)體數(shù)組,其指針變結(jié)構(gòu)體指針變量可指向一個結(jié)構(gòu)體數(shù)組,其指針變量的值是整個結(jié)構(gòu)體數(shù)組的首地址。量的值是整個結(jié)構(gòu)體數(shù)組的首地址。 例:例: 設(shè)設(shè)ps為指向結(jié)構(gòu)體數(shù)組的指針變量,為指向結(jié)構(gòu)體數(shù)組的指針變量,則則ps指向該結(jié)構(gòu)體數(shù)組的指向該結(jié)構(gòu)體數(shù)組的0號元素;號元素; ps+1指向該結(jié)指向該結(jié)構(gòu)體數(shù)組的構(gòu)體數(shù)組的1號元素。號元素。例:例:#include void main( ) struct student int n

11、um; char name20; float score; stu3=1301,”Zhang San”,57, 1302,“Li Si”,82.50,1303,“Wang Wu”,69; struct student *ps=stu; ps+; printf(“No.%d,Name:%s,Score:%fn”, ps-num, ps- name, ps- score); 1.用結(jié)構(gòu)體的單個成員作為函數(shù)參數(shù),向函數(shù)傳遞結(jié)用結(jié)構(gòu)體的單個成員作為函數(shù)參數(shù),向函數(shù)傳遞結(jié) 構(gòu)體的構(gòu)體的單個成員單個成員。這與普通類型的變量作函數(shù)參數(shù)沒什么區(qū)別,都是這與普通類型的變量作函數(shù)參數(shù)沒什么區(qū)別,都是傳值調(diào)用傳值調(diào)

12、用,在函數(shù)內(nèi)部對其進(jìn)行操作,不會引起實(shí),在函數(shù)內(nèi)部對其進(jìn)行操作,不會引起實(shí)參結(jié)構(gòu)體成員值的變化。參結(jié)構(gòu)體成員值的變化。2.用結(jié)構(gòu)體變量作為函數(shù)參數(shù),向函數(shù)傳遞結(jié)構(gòu)體的用結(jié)構(gòu)體變量作為函數(shù)參數(shù),向函數(shù)傳遞結(jié)構(gòu)體的 完整結(jié)構(gòu)完整結(jié)構(gòu)。這種傳遞,是將整個結(jié)構(gòu)體成員的內(nèi)容復(fù)制給被調(diào)這種傳遞,是將整個結(jié)構(gòu)體成員的內(nèi)容復(fù)制給被調(diào)函數(shù)。這種方式是函數(shù)。這種方式是傳值調(diào)用傳值調(diào)用,在函數(shù)內(nèi)部對其進(jìn)行,在函數(shù)內(nèi)部對其進(jìn)行操作,不會引起實(shí)參結(jié)構(gòu)體成員值的變化。操作,不會引起實(shí)參結(jié)構(gòu)體成員值的變化。3.用結(jié)構(gòu)體指針或結(jié)構(gòu)體數(shù)組作為函數(shù)參數(shù),向函數(shù)用結(jié)構(gòu)體指針或結(jié)構(gòu)體數(shù)組作為函數(shù)參數(shù),向函數(shù) 傳遞結(jié)構(gòu)體的傳遞結(jié)構(gòu)體的

13、地址地址。由于是由于是傳地址調(diào)用傳地址調(diào)用,在函數(shù)內(nèi)部對其進(jìn)行操作,將,在函數(shù)內(nèi)部對其進(jìn)行操作,將影響實(shí)參結(jié)構(gòu)體成員值的變化。影響實(shí)參結(jié)構(gòu)體成員值的變化。 共用體共用體(也稱為聯(lián)合也稱為聯(lián)合)也是一種也是一種構(gòu)造的數(shù)據(jù)類型構(gòu)造的數(shù)據(jù)類型。 共用體是將不同類型的數(shù)據(jù)組織在一起共同占用共用體是將不同類型的數(shù)據(jù)組織在一起共同占用同一段內(nèi)存的一種構(gòu)造數(shù)據(jù)類型。同一段內(nèi)存的一種構(gòu)造數(shù)據(jù)類型。例如,在校學(xué)生和教師都填寫以下表格:例如,在校學(xué)生和教師都填寫以下表格:姓名姓名 年齡年齡 職業(yè)職業(yè) 單位單位其中,職業(yè)分兩類:教師和學(xué)生;其中,職業(yè)分兩類:教師和學(xué)生; 而而單位單位一欄里,學(xué)生填寫班級編號一欄里,

14、學(xué)生填寫班級編號(整型類型整型類型),教師填寫某系某教研室教師填寫某系某教研室(整型類型整型類型) 。共用體與結(jié)構(gòu)體的類型聲明方法類似。共用體與結(jié)構(gòu)體的類型聲明方法類似。共用體的關(guān)鍵字為共用體的關(guān)鍵字為union。一般形式:一般形式:union 共用體名共用體名 成員列表成員列表 ;其中各成員都應(yīng)進(jìn)行類型說明,即其中各成員都應(yīng)進(jìn)行類型說明,即類型名類型名 成員名;成員名; union department int class; char office20; ; (1)union department 先定義再說明;先定義再說明; int class; char office20; ; unio

15、n department a,b; (2)union department 定義同時說明;定義同時說明; int class; char office20; a,b;(3)union 直接說明。直接說明。 int class; char office20; a,b; (1)結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有自己的內(nèi)存單元。度之和。每個成員分別占有自己的內(nèi)存單元。 (2)共用體變量所占內(nèi)存長度是共用體變量所占內(nèi)存長度是最長最長的成員的長度。的成員的長度。即共用體變量的地址和它的各成員的地址是同一地即共用體變量的地址和它的各成員

16、的地址是同一地址。址。 對共用體變量的使用,包括賦值、使用只能是對對共用體變量的使用,包括賦值、使用只能是對變量的變量的成員成員進(jìn)行。進(jìn)行。共用體變量成員的表示方法:共用體變量成員的表示方法:共用體變量名共用體變量名.成員名成員名例:例:a.class a.office 不允許對共用體變量作初始化賦值,賦值只能在不允許對共用體變量作初始化賦值,賦值只能在程序中進(jìn)行。程序中進(jìn)行。#include#define PN 3void main( )struct char name10; int age; char job; union int class; char office10; units;

17、bodyPN;例:設(shè)有一個教師和學(xué)生通用的表格,有姓名、年齡、職例:設(shè)有一個教師和學(xué)生通用的表格,有姓名、年齡、職業(yè)、單位業(yè)、單位4 4項(xiàng)。在職業(yè)項(xiàng)中,用項(xiàng)。在職業(yè)項(xiàng)中,用ss表示學(xué)生,用表示學(xué)生,用tt表示教師。編程輸入人員數(shù)據(jù),再以表格輸出。表示教師。編程輸入人員數(shù)據(jù),再以表格輸出。int n,i;for(i=0;iPN;i+) printf(“input name,age,job and departmentn”); scanf(“%s%d%c”,,&bodyi.age, &bodyi.job); if(bodyi.job=s) scanf(“%d”,

18、&bodyi.units.class); else scanf(“%s”,bodyi.units.office); printf(“nametagetjobtclass/officen”);for(i=0;iPN;i+) if(bodyi.job=s) printf(“%st%dt%3ct%dn”,, bodyi.age,bodyi.job,bodyi.units.class); else printf(“%st%dt%3ct%sn”,, bodyi.age,bodyi.job,bodyi.units.office); 當(dāng)某些變量僅由有限個數(shù)據(jù)值

19、組成時,通常用枚當(dāng)某些變量僅由有限個數(shù)據(jù)值組成時,通常用枚舉類型來表示。舉類型來表示。 所謂枚舉是指將變量的值一一列舉出來,變量的所謂枚舉是指將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。如一周只有值只限于列舉出來的值的范圍內(nèi)。如一周只有7天,天,一年只有一年只有12個月等等。個月等等。 注意:枚舉類型是一種注意:枚舉類型是一種基本數(shù)據(jù)類型基本數(shù)據(jù)類型,而不是一,而不是一種構(gòu)造類型。關(guān)鍵字為種構(gòu)造類型。關(guān)鍵字為enum。一般形式:一般形式:enum 枚舉名枚舉名 枚舉值表枚舉值表 ;在枚舉值表中應(yīng)羅列出所有可用值,這些值稱之為枚在枚舉值表中應(yīng)羅列出所有可用值,這些值稱之為枚舉元素

20、。舉元素。例:例:enum weekday sun,mon,tue,wed,thu,fri,sat;聲明了一個枚舉類型聲明了一個枚舉類型enum weekday,可以用此類型來,可以用此類型來定義變量,該變量只能取定義變量,該變量只能取7天中的某一天。天中的某一天。 (1)enum weekday 先定義再說明;先定義再說明; sun,mon,tue,wed,thu,fri,sat; enum weekday a,b,c; (2)enum weekday 定義同時說明;定義同時說明; sun,mon,tue,wed,thu,fri,sata,b,c;(3)enum 直接說明。直接說明。 sun

21、,mon,tue,wed,thu,fri,sata,b,c; (1)在在C編譯中,對編譯中,對枚舉元素按常量處理枚舉元素按常量處理,故稱枚舉,故稱枚舉常量。它們不是變量,不能對它們賦值。常量。它們不是變量,不能對它們賦值。例:例:sun=5; mon=2; sun=mon;是錯誤的。是錯誤的。 (2) 枚舉元素本身由系統(tǒng)定義為有序號的數(shù)值,枚舉元素本身由系統(tǒng)定義為有序號的數(shù)值,從從0開始順序定義為開始順序定義為0,1,2,例如在例如在weekday中,中,sun值為值為0,mon值為值為1,sat值值為為6。這個序號值是可以輸出的。這個序號值是可以輸出的。例:例:#include void m

22、ain( ) enum weekday sun,mon,tue,wed,thu,fri,sata,b,c; a=sun; b=mon; c=tue; printf(“%d,%d,%d”a,b,c); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:0,1,2 (3) 只能把枚舉值賦予枚舉變量,只能把枚舉值賦予枚舉變量,不能把元素的數(shù)不能把元素的數(shù)值直接賦予枚舉變量。值直接賦予枚舉變量。例:例:a=sun; b=mon; 是正確的。是正確的。 a=0; b=1; 是錯誤的。是錯誤的。如果一定要把數(shù)值賦予枚舉變量,則必須用強(qiáng)制類如果一定要把數(shù)值賦予枚舉變量,則必須用強(qiáng)制類型轉(zhuǎn)換,則應(yīng)型轉(zhuǎn)換,則應(yīng)b=(enum weekday

23、)1; 其意義是將順序其意義是將順序號為號為1的枚舉元素賦予枚舉變量的枚舉元素賦予枚舉變量b,等價于,等價于b=mon; (4) 枚舉元素不是字符常量,也不是字符串常量,枚舉元素不是字符常量,也不是字符串常量,使用時無須加單、雙引號。使用時無須加單、雙引號。 C語言允許用戶用語言允許用戶用typedef來自定義類型說明符。來自定義類型說明符。例:例:typedef int INTEDER; (指定用指定用INTEDER來代表來代表int類型類型)因此,因此, INTEDER a,b;等價于等價于int a,b;typedef定義的一般形式為:定義的一般形式為:typedef 原類型名原類型名

24、新類型名;新類型名;例:例:typedef char NAME20;其中,其中,NAME是字符數(shù)組類型,長度為是字符數(shù)組類型,長度為20。然后可以。然后可以用用NAME說明變量說明變量:NAME s1,s2; 等價于等價于char s120,s220;例:例: typedef struct student int num;y char name20; float score; STU;STU表示表示struct student的結(jié)構(gòu)類型,然后可以用的結(jié)構(gòu)類型,然后可以用STU來說明結(jié)構(gòu)變量:來說明結(jié)構(gòu)變量:STU stu1,stu2;一、問題一、問題1.用數(shù)組的方式存儲學(xué)生的數(shù)據(jù),需要預(yù)先確定

25、學(xué)生用數(shù)組的方式存儲學(xué)生的數(shù)據(jù),需要預(yù)先確定學(xué)生的人數(shù),并且數(shù)組占用的是一塊連續(xù)的內(nèi)存區(qū)域。的人數(shù),并且數(shù)組占用的是一塊連續(xù)的內(nèi)存區(qū)域。2.用動態(tài)存儲的方法:每次分配一塊空間存放一個學(xué)用動態(tài)存儲的方法:每次分配一塊空間存放一個學(xué)生的數(shù)據(jù),稱之為一個結(jié)點(diǎn)。有多少學(xué)生就申請分配生的數(shù)據(jù),稱之為一個結(jié)點(diǎn)。有多少學(xué)生就申請分配多少塊空間,也就建立多少個結(jié)點(diǎn)。當(dāng)學(xué)生留級、退多少塊空間,也就建立多少個結(jié)點(diǎn)。當(dāng)學(xué)生留級、退學(xué)后,可刪除該結(jié)點(diǎn),并釋放該結(jié)點(diǎn)占用的空間。使學(xué)后,可刪除該結(jié)點(diǎn),并釋放該結(jié)點(diǎn)占用的空間。使用動態(tài)分配,每個結(jié)點(diǎn)之間的內(nèi)存空間可以是不連續(xù)用動態(tài)分配,每個結(jié)點(diǎn)之間的內(nèi)存空間可以是不連續(xù)的的

26、(結(jié)點(diǎn)內(nèi)是連續(xù)的結(jié)點(diǎn)內(nèi)是連續(xù)的)。結(jié)點(diǎn)之間的聯(lián)系可以用指針實(shí)。結(jié)點(diǎn)之間的聯(lián)系可以用指針實(shí)現(xiàn)?,F(xiàn)。二、鏈表的定義二、鏈表的定義 用一個指針變量用一個指針變量head指向第指向第1個結(jié)點(diǎn)的首地址,以個結(jié)點(diǎn)的首地址,以后每個結(jié)點(diǎn)都分為兩個域,一個是后每個結(jié)點(diǎn)都分為兩個域,一個是數(shù)據(jù)域數(shù)據(jù)域,存放各種,存放各種實(shí)際的數(shù)據(jù);另一個域是實(shí)際的數(shù)據(jù);另一個域是指針域指針域,存放下一個結(jié)點(diǎn)的,存放下一個結(jié)點(diǎn)的首地址。最后一個結(jié)點(diǎn)因無后續(xù)結(jié)點(diǎn)連接,其指針域首地址。最后一個結(jié)點(diǎn)因無后續(xù)結(jié)點(diǎn)連接,其指針域可賦予可賦予NULL。 這種連接方式,在數(shù)據(jù)結(jié)構(gòu)中稱為這種連接方式,在數(shù)據(jù)結(jié)構(gòu)中稱為鏈表鏈表。 鏈表中每一個結(jié)點(diǎn)

27、都是同一種結(jié)構(gòu)類型。鏈表中每一個結(jié)點(diǎn)都是同一種結(jié)構(gòu)類型。例:一個存放學(xué)生的學(xué)號和成績的結(jié)點(diǎn)為:例:一個存放學(xué)生的學(xué)號和成績的結(jié)點(diǎn)為: struct student1 int num; float score; struct student1 *next; 前兩個成員項(xiàng)組成數(shù)據(jù)域,后一個成員項(xiàng)前兩個成員項(xiàng)組成數(shù)據(jù)域,后一個成員項(xiàng)next構(gòu)成指構(gòu)成指針域,它是一個指向同類型結(jié)構(gòu)的指針變量。針域,它是一個指向同類型結(jié)構(gòu)的指針變量。#include#define NULL 0struct student long num; float score; struct student *next; ; vo

28、id main( )struct student a,b,c,*head,*p; a.num=00101;a.score=89.5; b.num=00103;b.score=90; c.num=00107;c.score=85;例:建立一個簡單鏈表,由例:建立一個簡單鏈表,由3 3個學(xué)生數(shù)據(jù)的結(jié)點(diǎn)組成。輸個學(xué)生數(shù)據(jù)的結(jié)點(diǎn)組成。輸出各結(jié)點(diǎn)中的數(shù)據(jù)。出各結(jié)點(diǎn)中的數(shù)據(jù)。head=&a;a.next=&b;b.next=&c;c.next=NULL;p=head;doprintf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NU

29、LL);三、單向鏈表的建立三、單向鏈表的建立 可以采取向鏈表中添加結(jié)點(diǎn)的方式來建立一個單向可以采取向鏈表中添加結(jié)點(diǎn)的方式來建立一個單向鏈表。鏈表。 為了向鏈表中添加一個新結(jié)點(diǎn),首先要為新建結(jié)點(diǎn)為了向鏈表中添加一個新結(jié)點(diǎn),首先要為新建結(jié)點(diǎn)動態(tài)申請內(nèi)存空間動態(tài)申請內(nèi)存空間,讓指針變量,讓指針變量p指向這個新建結(jié)點(diǎn)指向這個新建結(jié)點(diǎn),然后將新建結(jié)點(diǎn)添加到鏈表中。然后將新建結(jié)點(diǎn)添加到鏈表中。需要考慮以下兩種情況:需要考慮以下兩種情況:(1)若原鏈表為空表若原鏈表為空表(將新建結(jié)點(diǎn)置為頭結(jié)點(diǎn)將新建結(jié)點(diǎn)置為頭結(jié)點(diǎn));(2)若原鏈表為非空若原鏈表為非空(將新建結(jié)點(diǎn)添加到表尾將新建結(jié)點(diǎn)添加到表尾)。四、單向鏈表的刪除操作四、單向鏈表的刪除操作 鏈表的刪除操作就是將一個待刪除結(jié)點(diǎn)

溫馨提示

  • 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

提交評論