計算機應用基礎教學課件線性表_第1頁
計算機應用基礎教學課件線性表_第2頁
計算機應用基礎教學課件線性表_第3頁
計算機應用基礎教學課件線性表_第4頁
計算機應用基礎教學課件線性表_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 章 數(shù)據(jù)結構 1.1 基本數(shù)據(jù)結構與算法 1.2 線性表 1.3 棧和隊列1.4 樹和二叉樹 1.5 查找1.6 內部排序ABCDEFG姓名 學號 成績 班級 李紅 9761059 95 機97.6 1065865 牛牛文庫文檔分享1.2 線性表1. 線性表的定義1) 定義:具有相同數(shù)據(jù)類型的n(n0)個數(shù)據(jù)元素組成的有限序列。是最簡單、最常用的數(shù)據(jù)結構。 2) 表示: L=( a0,a2,a3,ai-1,ai ,ai+1,,.,an-1 ) 其中: n為線性表長度(n=0稱為空表),表中相鄰元素之間存在著順序關系。a0 :表頭元素;an-1 :表尾元素;ai-1稱為ai的直接前驅;a

2、i+1 稱為ai的直接后繼。 表頭表尾 牛牛文庫文檔分享1.2 線性表1. 線性表的定義1) 定義:具有相同數(shù)據(jù)類型的n(n0)個數(shù)據(jù)元素組成的有限序列。是最簡單、最常用的數(shù)據(jù)結構。 2) 表示: L=( a0,a2,a3,ai-1,ai ,ai+1,.,an-1 ) 3) 線性結構特點:(1)有且只有一個根結點a0 ,無前驅 。(2)有且只有一個終端結點an-1 ,無后繼 。(3)其他結點有且只有一個直接前驅和一個直接后繼。 牛牛文庫文檔分享1.2 線性表1. 線性表的定義1) 定義:具有相同數(shù)據(jù)類型的n(n0)個數(shù)據(jù)元素組成的有限序列。是最簡單、最常用的數(shù)據(jù)結構。 2) 表示: 3) 線性

3、結構特點:4) 線性表的分類 (1)簡單線性表: 數(shù)據(jù)元素是簡單項(數(shù)字、字母、季節(jié)名等)。 如:(12,34,4,67,8) (2)復雜線性表: 數(shù)據(jù)元素由若干個數(shù)據(jù)項組成,此時數(shù)據(jù)元素稱為記錄或結點, 如學生成績表.L=( a0,a2,a3,ai-1,ai ,ai+1,.,an-1 ) 牛牛文庫文檔分享學生健康情況登記表如下:姓 名學 號性 別年齡 健康情況王小林790631 男 18 健康陳 紅790632 女 20 一般劉建平790633 男 21 健康張立立790634 男 17 神經衰弱 . . . 牛牛文庫文檔分享1.順序表基本概念1.2.2 線性表的順序存儲結構1) 順序存儲結

4、構: 用一組地址連續(xù)的存儲空間依次存放線性表的各元素 。順序表:采用順序存儲結構的線性表稱為順序表(一維數(shù)組) 表中的所有元素所占存儲空間連續(xù)表中各元素在存儲空間中按邏輯順序存放 順序存儲結構特點1.2 線性表 牛牛文庫文檔分享1.順序表基本概念4.2.2 線性表的順序存儲結構1) 順序存儲結構: 2) 第i個元素地址4.2 線性表其中:m:每個元素占m個存儲單元Loc(a0)第一個元素地址(基址) 牛牛文庫文檔分享an1.ai.a1a0bb+mb+i*mb+n*m存儲地址存儲狀態(tài)空閑數(shù)據(jù)元素在線性表中的位序12n i 從存取方式看,線性表的順序存儲結構是可以隨機存儲的存儲結構. 牛牛文庫文檔

5、分享 1.順序表基本概念1.2.2 線性表的順序存儲結構1) 順序存儲結構: 2) 第i個元素地址1.2 線性表2.順序表的基本運算 存取: 訪問線性表的第i個元素,使用或改變數(shù)據(jù)元素的值。 查找: 在線性表中查找滿足某種條件的數(shù)據(jù)元素。 插入: 在線性表的第i個元素之前,插入一個同類型的元素。 (*) 刪除: 刪除線性表中第i個元素。 (*) 求表長: 求出線性表中元素的個數(shù)。 置空表: 建立一個空表。 清除表: 將已有線性表變?yōu)榭毡?,即刪除表中所有元素。 牛牛文庫文檔分享 1.順序表基本概念1.2.2 線性表的順序存儲結構1) 順序存儲結構: 2) 第i個元素地址1.2 線性表2.順序表的

6、基本運算 插入和刪除1)順序表的插入運算: 在線性表的第i個元素之前插入一個新的元素,先移動,后插入。ai-1.a1a0an-1ai+1ai x ai-1. a1 a0 ai an an-1 ai+1 ai ai先移動后插入 x 牛牛文庫文檔分享步驟:(1)將ai an順序向后移動,為新元素讓出位置(2)將x置入”空出”的第i個位置舉例:(在第4個和第5個元素之間插入元素91) 6741262148916 0 1 2 3 4 5 6 7 86741262148916 0 1 2 3 4 5 6 7 86741262148916 0 1 2 3 4 5 6 7 8212191 牛牛文庫文檔分享插

7、入程序舉例(在8個數(shù)中任意位置插入一個數(shù)):#define N 8main() int aN+1=12,34,45,6,78,9,10,91, i,j,x; printf(“input the location to be inserted:”); scanf(“%d,%d”,&i,&x); ai-1=x; for(j=0;j=N;j+) printf(“%d,”,aj);for(j=i-1;j=i-1;j-) aj+1=aj; 牛牛文庫文檔分享在第i個位置上作插入x,則需將第i個至第n個元素移動,即共需移動(n-i+1)個元素。插入運算時間性能分析:插入運算,時間主要消耗在數(shù)據(jù)移動上。在長度

8、為n的線性表中插入一個元素,則平均移動元素次數(shù)(期望值):pi:在第i個位置上作插入的概率。等差數(shù)列求和公式: (首項+末項)項數(shù))/2(n-i+1)線性表(a0,a1,a2)平局移動元素個數(shù):()*(3+2+1+0)=1.5在一線性表(a0,a1,a2)中插入任意一數(shù)i,求平局移動元素次數(shù): i 移動次數(shù)(n-i+1) 1(插入到第個數(shù)a0前) 3 2 (插入到第2個數(shù)a1前) 23 (插入到第3個數(shù)a2前) 1 (插入到第3個數(shù)a2后) 0 牛牛文庫文檔分享 1.順序表基本概念1.2.2 線性表的順序存儲結構1) 順序存儲結構: 2) 第i個元素地址1.2 線性表2.順序表的基本運算 插入

9、和刪除2)順序表刪除運算:定義:指將表中第i個元素從線性表中去掉。原表長為n:( a0,a1,ai-1,ai ,ai+1, an-1 ) 新表長為n-1:( a0,a1,ai-1,ai+1, , an-1 ) 步驟:(1)將ai+1 an-1, 順序向前移動(2)表長減一 牛牛文庫文檔分享舉例:(刪除第五個元素21) 6741262148916 0 1 2 3 4 5 6 7 867412648916 0 1 2 3 4 5 6 7 8時間性能分析:時間消耗與插入運算相同,平均移動元素次數(shù):qi:在第i個位置上作插入的概率。設qi=1/n 共需移動(n-i)個元素。67 牛牛文庫文檔分享 i

10、移動次數(shù)(n-i) 1(刪除第1個數(shù)a0) 22 (刪除第2個數(shù)a1) 13 (刪除第3個數(shù)a2) 0線性表(a0,a1,a2)平局移動元素個數(shù):(1/3)*(2+1+0)=1在一線性表(a0,a1,a2)中刪除任意一數(shù)i,求平局移動元素次數(shù):作業(yè):有一數(shù)組,存儲十個數(shù),編程序刪除其中任意一個數(shù)。 牛牛文庫文檔分享 1.順序表基本概念3.順序表優(yōu)點和缺點優(yōu)點:邏輯上相鄰元素存儲位置也相鄰,無需增加額外存儲空間可方便隨機存取表中任一元素。缺點:插入和刪除運算不方便,必須移動大量結點,效率較低不適合元素經常變動的大的線性表。1.2.2 線性表的順序存儲結構1.2 線性表2.順序表的基本運算 牛牛文

11、庫文檔分享鏈式存儲結構特點:1.2.3 線性表的鏈式存儲結構存儲空間可以不連續(xù)。不要求邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素間邏輯關系由指針域確定。1.2 線性表即 鏈表存儲結構是一種動態(tài)數(shù)據(jù)結構,其特點是它包含的據(jù)對象的個數(shù)及其相互關系可以按需要改變,存儲空間是程序根據(jù)需要在程序運行過程中向系統(tǒng)申請獲得,鏈表也不要求邏輯上相鄰的元素在物理位置上也相鄰,它沒有順序存儲結構所具有的弱點。 牛牛文庫文檔分享zhang33531082548#namesumnext結構體元素結構體元素的地址結構體元素的成員是地址型數(shù)據(jù)struct student char name10; int sum; st

12、ruct student *next; ;pstruct student *p; strcpy(p-name,”zhang”);p-sum=335;p-next=? 牛牛文庫文檔分享zhang33531082548#bai32831483108#zhao35231883148#wu34703188#headp1p2p3有四個結構體元素: 牛牛文庫文檔分享zhang33531082548#bai32831483108#zhao35231883148#wu34703188#head有四個結構體元素: 牛牛文庫文檔分享head(3)尾結點的指針域置為“NULL(空)”,作為鏈表結束的標志(1)頭指針

13、變量head指向鏈表的首結點。(2)每個結點由2個域組成: 1)數(shù)據(jù)域存儲結點本身的信息。 2)指針域指向后繼結點的指針。zhang33531082548#bai32831483108#zhao35231883148#wu347NULL3188#struct student char name10; int sum; struct student *next; ; 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:定義:線性表的鏈式存儲結構稱為線性鏈表1.2.3 線性表的鏈式存儲結構數(shù)據(jù)域: 一部分存放數(shù)據(jù)元素值 指針域: 存放指針,用于指向該結點的 前一個結點或后一個結點 線性鏈表中結點組成:

14、分類:單鏈表、循環(huán)單鏈表、雙向鏈表 1.2 線性表 牛牛文庫文檔分享其單鏈表示意圖如下:有一線性表: (bat,cat,eat,fat,hat,jat,lat,mat)hat200.cat135eat170.matNullbat130fat110jat205lat160 110 130 135 160頭指針 head 165 170 200 205 165簡化為:鏈尾略 牛牛文庫文檔分享bat cat eat mat 單鏈表是由表頭唯一確定,因此單鏈表可以用頭指針的名字來命名。例如:若頭指針名是head,則把鏈表稱為表head。head用C語言描述的單鏈表如下: struct node cha

15、r name20; struct node *next;struct node *head; typedef struct node char name20; struct node *next;LinkList;LinkList *head;新的類型名代換舊的類型名,也就是說:LinkList等價與struct node 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3 .單鏈表: 定義:由n個結點鏈接,且每個結點中只包含一個指針域的鏈表。 例:線性單鏈表( A, B, C, D, E, F )邏輯狀態(tài) ABCDEhead F其中: head稱

16、為單鏈表的頭指針,指向表中的第一個結點 牛牛文庫文檔分享物理狀態(tài) E7FNULLB25A13C31D1頭指針 存儲地址 數(shù)據(jù)域 指針域 19 1713192531單鏈表存取:必須從頭指針開始進行,依次順著指針向鏈尾方向掃描。找到各個元素,因此說線性表的鏈式存儲結構是一種順序存儲的存儲結構。ABCDEhead F 牛牛文庫文檔分享ABCDEhead FABCDEhead F帶頭節(jié)點的單鏈表編程:創(chuàng)建帶頭節(jié)點的單鏈表。程序算法:(1)定義三個結構體類型的指針變量head, p, s(2)利用malloc函數(shù)開辟頭結點,由head, p共同來指向(3)再利用malloc函數(shù)開辟相應的內存空間,由s來

17、指向(4)由鍵盤輸入數(shù)據(jù),賦給s所指向的內存空間(5)p-next=s;(6)p=s;(7)回到第(3)步; 牛牛文庫文檔分享程序算法:(1)定義三個結構體類型的指針變量head, p, s(2)利用malloc函數(shù)開辟頭結點,由head, p共同來指向(3)再利用malloc函數(shù)開辟相應的內存空間,由s來指向(4)由鍵盤輸入數(shù)據(jù),賦給s所指向的內存空間(5)p-next=s;(6)p=s;(7)回到第(3)步;head=p=(strutc node*) malloc(sizeof(struct node);headp對帶頭結點的復雜鏈表的基本操作創(chuàng)建 牛牛文庫文檔分享程序算法:(1)定義三個

18、結構體類型的指針變量head, p, s(2)利用malloc函數(shù)開辟頭結點,由head, p共同來指向(3)再利用malloc函數(shù)開辟相應的內存空間,由s來指向(4)由鍵盤輸入數(shù)據(jù),賦給s所指向的內存空間(5)p-next=s;(6)p=s;(7)回到第(3)步;As-data=getchar();sp對帶頭結點的復雜鏈表的基本操作創(chuàng)建headp 牛牛文庫文檔分享程序算法:(1)定義三個結構體類型的指針變量head, p, s(2)利用malloc函數(shù)開辟頭結點,由head, p共同來指向(3)再利用malloc函數(shù)開辟相應的內存空間,由s來指向(4)由鍵盤輸入數(shù)據(jù),賦給s所指向的內存空間(

19、5)p-next=s;(6)p=s;(7)回到第(3)步;sp對帶頭結點的復雜鏈表的基本操作創(chuàng)建AsheadpB 牛牛文庫文檔分享ABCDEhead FABCDEhead F帶頭節(jié)點的單鏈表 typedef struct nodechar data;struct node *next; Linklist; Linklist *head,*p,*s; char ch; head=(Linklist *)malloc(sizeof(Linklist); printf(input letters to create a list:n); while(ch=getchar()!=n) s=(Linkl

20、ist *)malloc(sizeof(Linklist); s-data=ch; p-next=s; p=s; p-next=NULL; 編程:創(chuàng)建帶頭節(jié)點的單鏈表。 牛牛文庫文檔分享帶頭節(jié)點的單鏈表 typedef struct nodechar data; struct node *next; Linklist; Linklist *head,*p,*s; char ch; head=(Linklist *)malloc(sizeof(Linklist); printf(input letters to create a list:n); p=head; while(ch=getchar

21、()!=n) s=(Linklist *)malloc(sizeof(Linklist); s-data=ch; p-next=s; p=s; p-next=NULL; 2000Bdatanext 牛牛文庫文檔分享 struct nodechar data; struct node *next; Linklist; Linklist *head,*p,*s; char ch; head=(Linklist *)malloc(sizeof(Linklist); printf(input letters to create a list:n); p=head; while(ch=getchar()

22、!=n) s=(Linklist *)malloc(sizeof(Linklist); s-data=ch; p-next=s; p=s; p-next=NULL; Aheadp用戶輸入為:ABCsptypedef 牛牛文庫文檔分享 struct nodechar data; struct node *next; Linklist; Linklist *head,*p,*s; char ch; head=(Linklist *)malloc(sizeof(Linklist); printf(input letters to create a list:n); p=head; while(ch=

23、getchar()!=n) s=(Linklist *)malloc(sizeof(Linklist); s-data=ch; p-next=s; p=s; p-next=NULL; Ahead用戶輸入為:ABCspsBptypedef 牛牛文庫文檔分享 struct nodechar data; struct node *next; Linklist; Linklist *head,*p,*s; char ch; head=(Linklist *)malloc(sizeof(Linklist); printf(input letters to create a list:n); p=head

24、; while(ch=getchar()!=n) s=(Linklist *)malloc(sizeof(Linklist); s-data=ch; p-next=s; p=s; p-next=NULL; Ahead用戶輸入為:ABCsBpsCpNULLtypedef 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3 .單鏈表: (1)單鏈表插入:增加新結點,修改鏈接指針后插結點在指針p所指結點之后插入一個指針s所指的結點修改p和s所指結點的指針域的指針即可 牛牛文庫文檔分享插入步驟修改s指針域,使其指向p結點的后繼結點:snext=pnextp

25、 B C Xs A修改p指針域, 使其指向新結點s: pnexts考慮上述兩步驟若顛倒會怎樣? 牛牛文庫文檔分享插入步驟修改s指針域,使其指向p結點的后繼結點:snext=pnextp B C Xs A修改p指針域, 使其指向新結點s: pnexts考慮上述兩步驟若顛倒會怎樣?后面的結點都將從鏈表中脫離它們占用著內存空間,程序卻找不到它們了 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3 .單鏈表: (2)單鏈表刪除:不需要移動元素,僅修改指針鏈接刪除結點刪除p指向的結點只修改p(被刪除結點)的前驅結點的指針域即可 牛牛文庫文檔分享刪除步驟修改

26、q結點指針域 qnextpnextCpBA刪除前刪除后qpCBAfree(p);先找到p的前驅結點qqnextqnextnext 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3 .單鏈表: 4.循環(huán)鏈表特點:表中最后一個結點的指針域指向頭結點,整個鏈表首尾相連形成一個環(huán)。 帶頭節(jié)點的循環(huán)鏈表 牛牛文庫文檔分享優(yōu)點:從表中任一結點出發(fā)均可找到表中其它結點。對帶頭結點的單循環(huán)鏈表head為空的判定條件是 head-next=head帶頭結點的空循環(huán)鏈表 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3

27、 .單鏈表: 4.循環(huán)鏈表5.雙向鏈表定義:在雙向鏈表中,每個結點有兩個指針域,next 指向后繼結點,prior指向前趨結點。 datapriornext結點構成: 牛牛文庫文檔分享作用:可以方便地沿向前或向后兩個方向查找??朔捂湵碇忻總€結點只能找到它的后繼結點,不能找到前驅結點。若要找前驅結點,必須從頭指針開始重新查找的不足。head.ana2a1nextprior對指向雙向鏈表任一結點的指針p,有下面的關系:p-next-priou=p-priou-next=ppnextpriouspriousnext 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1

28、.2 線性表3 .單鏈表: 4.循環(huán)鏈表5.雙向鏈表(1)插入結點:在p指針所指的結點后插入一個結點q,只需要修改p,q結點的prior和next域即可。p插入前cbax待插入的結點:q 牛牛文庫文檔分享cbaxqpp結點作為q結點的前驅:q-prior=p;p結點的后繼作為q結點的后繼:q -next=p-next;q結點作為p 結點的后繼結點的前驅結點:p-next-prior=qq結點作為p結點的后繼:p-next=q; (p的后繼指向新結點q)確定新結點q的前驅和后繼 牛牛文庫文檔分享鏈式存儲結構特點:2.線性鏈表:1.2.3 線性表的鏈式存儲結構1.2 線性表3 .單鏈表: 4.循環(huán)

29、鏈表5.雙向鏈表p刪除前cba(2)刪除結點:刪除P指針所指結點,只需修改P指針的前驅和后繼結點的next,prior域即可。 牛牛文庫文檔分享p p的后繼結點作為p結點前驅結點的后繼 (a c) p的前驅結點作為p結點后繼結點的前驅 ( a c) p-prior-next = p-next;p-next-prior= p-prior;free(p);cba 牛牛文庫文檔分享習題講解1. 線性表的順序存儲結構和線性表的鏈式存儲結構分別是_。 A. 順序存取的存儲結構、順序存取的存儲結構 B. 隨機存取的存儲結構、順序存取的存儲結構 C. 隨機存取的存儲結構、隨機存取的存儲結構 D. 任意存取的

30、存儲結構、任意存取的存儲結構2. 在單鏈表中,增加頭結點的目的是_。 A. 方便運算的實現(xiàn) B. 使單鏈表至少有一個結點 C. 標識表結點中首結點的位置 D. 說明單鏈表是線性表的鏈式存儲實現(xiàn) 牛牛文庫文檔分享3 用鏈表表示線性表的優(yōu)點是_。 A. 便于插入和刪除操作 B. 數(shù)據(jù)元素的物理順序與邏輯順序相同 C. 花費的存儲空間較順序存儲少 D. 便于隨機存取4.某線性表采用順序存儲結構,每個元素占4個存儲單元,首地址為200,則第12個元素的存儲地址是_. A. 248 B. 247 C. 246 D. 244 牛牛文庫文檔分享5. 下列對于線性鏈表的描述中正確的是_。(05.4月 )A)存

31、儲空間不一定是連續(xù),且各元素的存儲順序是任意的B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D)存儲空間必須連續(xù),且各元素的存儲順序是任意的 牛牛文庫文檔分享6. 線性表是() A. 一個有限序列,可以為空 B. 一個有限序列,不能為空 C. 一個無限序列,可以為空 D. 一個無限序列,不能為空7在一個長度為n的線性表中,刪除值為x的元素時需要比較元 素和移動元素的總次數(shù)為() A. (n+1)/2 B.n/2 C. n D.n+1詳見計算機基礎綜合實訓教程P1758. 一個長度為n的順序存儲的線性表中,向第i個元素(1in

32、+1) 位置插入一個新元素時,需要從后面向前依次后移( )個元 素。 A. n-i B. n-i+1 C. n-i-1 D. i 牛牛文庫文檔分享9.設單鏈表中指針p指向結點ai,若要刪除ai之后的結點(若存 在),則需修改指針的操作為()。A. p-next= p-next-next B. p=p-next C. p=p-next-next D. next=p10.設單鏈表中指針p指向結點ai,指針q指向將要插入的新結點 x,則當x插在鏈表中兩個數(shù)據(jù)元素ai和ai+1之間時,只要先 修改 q-next=p-next,后修改()即可。A. p-next= q B. p-next= p-next

33、-next C. p-next=q-next D. q-next=null 11.在一個單鏈表中,若要在p所指向的結點之后插入一個新結 點,則需要相繼修改()個指針域的值。 A. 1 B. 2 C. 3 D.4 牛牛文庫文檔分享12.不帶頭結點的單鏈表L為空的判定條件是()。A. L= = NULL B. L-next = = NULL C. L-next = = L D. L! = NULL13帶頭結點的單鏈表L為空的判定條件是()。A. L= = NULL B. L-next = = NULL C. L-next = = L D. L! = NULL14.在一個帶有頭結點的雙向循環(huán)鏈表中,

34、若要在p所指向的結點之前插入一個新結點,則需要相繼修改()個指針域的值。A. 2 B. 3 C. 4 D.615.在一個帶有頭結點的雙向循環(huán)鏈表中,若要在p所指向的結點之后插入一個q指針所指向的結點,則需要對q-next賦值為()A. p-prior B. p-next C. p-next-next D. p-prior -prior16.線性表采用鏈式存儲時,其地址()A. 必須是連續(xù)的B. 一定是不連續(xù)的C. 部分地址必須是連續(xù)的D. 連續(xù)與否均可以 牛牛文庫文檔分享2.在一個單鏈表中刪除指針p所指向結點時,應執(zhí)行一下操作: q=p-next; p-data= p-next-data; p

35、-next=_; free(q);填空題 1.數(shù)據(jù)結構分為邏輯結構和存儲結構,循環(huán)隊列屬 于 結構。(05.9月) 存儲結構p-next-nextpqABBC 牛牛文庫文檔分享3. 在一個單鏈表中指針p所指向結點的后面插入一個指針q所指向的結點時,首先把_ _的值賦給q-next,然后把_的值賦給p-next。p-nextq4.假定指向單鏈表中第一個結點的表頭指針為head,則向該單鏈 表的表頭插入指針p所指向的新結點時,首先執(zhí)行_賦值操 作,然后執(zhí)行_賦值操作。 p-next=headhead=pheadp 牛牛文庫文檔分享5. 在一個單鏈表中刪除指針p所指向結點的后繼結點時,需要把_的值賦給p-next指針域。p-next-next6. 在_鏈表中,既可以通過設定一個頭指針也可 以通過設定一個尾指針來確定它,即通過頭指針或 尾指針可以訪問到該鏈表中的每個結點。 循環(huán)7. 在一個帶有頭結點的雙向循環(huán)鏈表中的p所指向的結 點之前插入一個指針s所指向結點時,可執(zhí)行如下操作:(1) s -prior=_;(2) p-prior-next=s;(3) s-next=_;(4) p-prior=_;p-prior

溫馨提示

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

評論

0/150

提交評論