




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.棧和隊列的共同特點是(只允許在端點處插入和刪除元素)4 .棧通常采用的兩種存儲結(jié)構(gòu)是(線性存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu))5 .下列關(guān)于棧的敘述正確的是(D)A.棧是非線性結(jié)構(gòu) B.棧是一種樹狀結(jié)構(gòu) C.棧具有先進(jìn)先出的特征 D.棧有后進(jìn)先出的特征6 .鏈表不具有的特點是(B)A.不必事先估計存儲空間 B.可隨機(jī)訪問任一元素C.插入刪除不需要移動元素 D.所需空間與線性表長度成正比7 .用鏈表表示線性表的優(yōu)點是(便于插入和刪除操作)8 .在單鏈表中,增加頭結(jié)點的目的是(方便運(yùn)算的實現(xiàn))9 .循環(huán)鏈表的主要優(yōu)點是(從表中任一結(jié)點出發(fā)都能訪問到整個鏈表)10 .線性表 L=(a1,a2,a3,ai,九
2、 a 尸列說法正確的是(D)A.每個元素都有一個直接前件和直接后件 B.線性表中至少要有一個元素C.表中諸元素的排列順序必須是由小到大或由大到小D.除第一個和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件11 線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址(D)A.必須是連續(xù)的 B.部分地址必須是連續(xù)的 C.一定是不連續(xù)的 D.連續(xù)不連續(xù)都可以12 .線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu))13 .樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(有且只有 1)14 .在深度為 5 的滿二叉樹中,葉子結(jié)點的個數(shù)為(31)15 .具有
3、 3 個結(jié)點的二叉樹有(5 種形態(tài))16 .設(shè)一棵二叉樹中有 3 個葉子結(jié)點,有 8 個度為 1 的結(jié)點,則該二叉樹中總的結(jié)點數(shù)為(13)17 .已知二叉樹后序遍歷序列是 dabec;中序遍歷序列是 debaq 它的前序遍歷序列是(cedba)18 .已知一棵二叉樹前序遍歷和中序遍歷分別為 ABDEGCFH 和 DBGEACHF,則該二叉樹的后序遍歷為(DGEBHFCA)19 .若某二叉樹的前序遍歷訪問順序是 abdgcefh,中序遍歷訪問順序是 dgbaechf,則其后序遍歷的 2 點訪問順序是(gdbehfca)20 .數(shù)據(jù)庫保護(hù)分為:安全性控制、完整性控制、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。1 .
4、在計算機(jī)中,算法是指(解題方案的準(zhǔn)確而完整的描述)2 .在下列選項中,哪個不是一個算法一般應(yīng)該具有的基本特征(無窮性)說明:算法的四個基本特征是:可行性、確定性、有窮性和擁有足夠的情報。3 .算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成(順序、選擇、循環(huán))4 .算法的時間復(fù)雜度是指(算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù))5 .算法的空間復(fù)雜度是指(執(zhí)行過程中所需要的存儲空間)6 .算法分析的目的是(分析算法的效率以求改進(jìn))7 .下列敘述正確的是(C)A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)8 .算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D.算
5、法的時間復(fù)雜度是指執(zhí)行算法程序所需要的時間9 .數(shù)據(jù)結(jié)構(gòu)作為計算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及(數(shù)據(jù)的存儲結(jié)構(gòu))10數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機(jī)無關(guān)的是數(shù)據(jù)的(C)A.存儲結(jié)構(gòu) B.物理結(jié)構(gòu) C.邏輯結(jié)構(gòu) D.物理和存儲結(jié)構(gòu)11 .下列敘述中,錯誤的是(B)A.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)C.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機(jī)中所占的空間不一定是連續(xù)的D.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)11 .數(shù)據(jù)的存儲結(jié)構(gòu)是指(數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示)12 .數(shù)據(jù)的邏輯結(jié)構(gòu)是指(反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu))13 .
6、根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為(線性結(jié)構(gòu)和非線性結(jié)構(gòu))14 .下列數(shù)據(jù)結(jié)構(gòu)具有記憶功能的是(C)A.隊列 B.循環(huán)隊列 C.棧 D.順序表15 .下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是(B)A.線性鏈表 B.棧 C.循環(huán)鏈表 D.順序表16 .遞歸算法一般需要利用(隊列)實現(xiàn)。17 .下列關(guān)于棧的敘述中正確的是(D)A.在棧中只能插入數(shù)據(jù) B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表 D.棧是先進(jìn)后出的線性表20 .由兩個棧共享一個存儲空間的好處是(節(jié)省存儲空間,降低上溢發(fā)生的機(jī)率)21 .應(yīng)用程序在執(zhí)行過程中,需要通過打印機(jī)輸出數(shù)據(jù)時,一般先形成一
7、個打印作業(yè),將其存放在硬盤中的一個指定(隊列)中,當(dāng)打印機(jī)空閑時,就會按先來先服務(wù)的方式從中取出待打印的作業(yè)進(jìn)行打印。22 .下列關(guān)于隊列的敘述中正確的是(C)A.在隊列中只能插入數(shù)據(jù) B.在隊列中只能刪除數(shù)據(jù) C.隊列是先進(jìn)先出的線性表 D.隊列是先進(jìn)后出的線性表23 .下列敘述中,正確的是(D)A.線性鏈表中的各元素在存儲空間中的位置必須是連續(xù)的B.線性鏈表中的表頭元素一定存儲在其他元素的前面 C.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面 D.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的24 .下列敘述中正確
8、的是(A)A.線性表是線性結(jié)構(gòu) B.棧與隊列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu) D.二叉樹是線性結(jié)構(gòu)25 .線性表 L=(a1,a2,a3,ai,九 anF 列 J 說法正確的是(D)A.每個元素都有一個直接前件和直接后件 B.線性表中至少要有一個元素C.表中諸元素的排列順序必須是由小到大或由大到小 D.除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件26 .線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址(連續(xù)不連續(xù)都可以)27 .鏈表不具有的特點是(B)A.不必事先估計存儲空間 B.可隨機(jī)訪問任一元素C.插入刪除不需要移動元素 D.所需空間與線性表長
9、度成正比28 .非空的循環(huán)單鏈表 head 的尾結(jié)點(由 p 所指向),滿足(p-next=head)29 .與單向鏈表相比,雙向鏈表的優(yōu)點之一是(更容易訪問相鄰結(jié)點)30 .在(D)中,只要指出表中任何一個結(jié)點的位置,就可以從它出發(fā)依次訪問到表中其他所有結(jié)點。A.線性單鏈表 B.雙向鏈表 C.線性鏈表 D.循環(huán)鏈表31 .以下數(shù)據(jù)結(jié)構(gòu)屬于非線性數(shù)據(jù)結(jié)構(gòu)的是(C)A.隊列 B.線性表 C.二叉樹 D.棧32 .樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(有且只有 1)33 .具有 3 個結(jié)點的二叉樹有(5 種形態(tài))34 .在一棵二叉樹上第 8 層的結(jié)點數(shù)最多是(128)注:2K-135 .在深度為 5
10、的滿二叉樹中,葉子結(jié)點的個數(shù)為(16)注:2n-136 .在深度為 5 的滿二叉樹中,共有(31)個結(jié)點。注:2n137 .設(shè)一棵完全二叉樹共有 699 個結(jié)點,則在該二叉樹中的葉子結(jié)點數(shù)為(350)說明:完全二叉樹總結(jié)點數(shù)為 N,若 N 為奇數(shù),則葉子結(jié)點數(shù)為(N+1)/2;若 N 為偶數(shù),則葉子結(jié)點數(shù)為 N/2。38.設(shè)有下列二叉樹,對此二叉樹中序遍歷的結(jié)果是(B)A.ABCDEFB.DBEAFCCABDECFDDEBFCA39 .已知二叉樹后序遍歷序列是 dabec;中序遍歷序列 debaq 它的前序遍歷序歹!J 是(cedbaj)40 .已知一棵二叉樹前序遍歷和中序遍歷分別為 ABDE
11、GCFH 和DBGEACHF,則該二叉樹的后序遍歷為(DGEBHFCA)41 .若某二叉樹的前序遍歷訪問順序是 abdgcefh,中序遍歷訪問順序是 dgbaechf,則其后序遍歷的 2 點訪問順序是(gdbehfca)42 .用的長度是(用中所含字符的個數(shù))43 .設(shè)有兩個用 p 和 q,求 q 在 p 中首次出現(xiàn)位置的運(yùn)算稱做(模式匹配)44 .N 個頂點的連通圖中邊的條數(shù)至少為(N-1)45 .N 個頂點的強(qiáng)連通圖的邊數(shù)至少有(N)46 .對長度為 n 的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為(N)47 .最簡單的交換排序方法是(冒泡排序)48 .假設(shè)線性表的長度為 n,則在
12、最壞情況下,冒泡排序需要的比較次數(shù)為(n(n-1)/2)49 .在待排序的元素序列基本有序的前提下,效率最高的排序方法是(冒泡排序)50 .在最壞情況下,下列順序方法中時間復(fù)雜度最小的是(堆排序)51 .希爾排序法屬于(插入類排序)52 .堆排序法屬于(選擇類排序)53 .在下列幾種排序方法中,要求內(nèi)存量最大的是(歸并排序)54 .已知數(shù)據(jù)表 A 中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采用(直接插入排序)55 .算法的基本特征是可行性、確定性、有窮性和擁有足夠的情報。1 .一個算法通常由兩種基本要素組成:一是對數(shù)據(jù)對象的運(yùn)算和操作,二是算法的控制結(jié)構(gòu)。2 .算法的復(fù)雜度主要包括時間復(fù)雜度和
13、空間復(fù)雜度。3 .實現(xiàn)算法所需的存儲單元多少和算法的工作量大小分別稱為算法的空間復(fù)雜度和時間復(fù)雜度。4 .所謂數(shù)據(jù)處理是指對數(shù)據(jù)集合中的各元素以各種方式進(jìn)行運(yùn)算,包括插入、刪除、查找、更改等運(yùn)算,也包括對數(shù)據(jù)元素進(jìn)行分析。5 .數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。6 .數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于存儲結(jié)構(gòu)。7 .數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。8 .數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)以及對數(shù)據(jù)的操作運(yùn)算。9 .數(shù)據(jù)元素之間的任何關(guān)系都可以用前趨和后繼關(guān)系來描述。10數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類。11 .常用的存儲結(jié)構(gòu)有順序、鏈接、索引等存儲
14、結(jié)構(gòu)。12 .順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置相鄰的存儲單元中。13 .棧的基本運(yùn)算有三種:入棧、退棧與讀棧頂元素。14 .隊列主要有兩種基本運(yùn)算:入隊運(yùn)算與退隊運(yùn)算。15 .在實際應(yīng)用中,帶鏈的棧可以用來收集計算機(jī)存儲空間中所有空閑的存儲結(jié)點,這種帶鏈的棧稱為可利用棧。16 .棧和隊列通常采用的存儲結(jié)構(gòu)是鏈?zhǔn)酱鎯晚樞虼鎯Α?7 .當(dāng)線性表采用順序存儲結(jié)構(gòu)實現(xiàn)存儲時,其主要特點是邏輯結(jié)構(gòu)中相鄰的結(jié)點在存儲結(jié)構(gòu)中仍相鄰。18 .循環(huán)隊列主要有兩種基本運(yùn)算:入隊運(yùn)算與退隊運(yùn)算。每進(jìn)行一次入隊運(yùn)算,隊尾指針就進(jìn) 1。19 .當(dāng)循環(huán)隊列非空且隊尾指針等于對頭指針時,說明循環(huán)隊列已滿,不
15、能進(jìn)行入隊運(yùn)算。這種情況稱為上溢。20 .當(dāng)循環(huán)隊列為空時,不能進(jìn)行退隊運(yùn)算,這種情況稱為下溢。21 .在一個容量為 25 的循環(huán)隊列中,若頭指針 front=16,尾指針 rear=9,則該循環(huán)隊列中共有 18 個元素。注:當(dāng) rearfront 時,元素個數(shù)=rearfront。1.判斷鏈表是否存在環(huán)型鏈表問題:判斷一個鏈表是否存在環(huán),例如下面這個鏈表就存在一個環(huán):例如 N1-N2-N3-N4-N5-N2 就是一個有環(huán)的鏈表,環(huán)的開始結(jié)點是 N5這里有一個比較簡單的解法。設(shè)置兩個指針 pl,p20每次循環(huán) pl 向前走一步,p2 向前走兩步。直到 p2 碰到 NULL 指針或者兩個指針相等
16、結(jié)束循環(huán)。如果兩個指針相等則說明存在環(huán)。structlink(intdata;link*next;boolIsLoop(link*head)(link*p1=head,*p2=head;if(head=NULL|head-next=NULL)(returnfalse;dop1=p1-next;p2=p2-next-next;while(p2&p2-next&p1!=p2);if(p1=p2)returntrue;elsereturnfalse;2,鏈表反轉(zhuǎn)單向鏈表的反轉(zhuǎn)是一個經(jīng)常被問到的一個面試題,也是一個非?;A(chǔ)的問題。比如一個鏈表是這樣的:1-2-3-4-5 通過反轉(zhuǎn)后成為 5-4-3-2
17、-1。最容易想到的方法遍歷一遍鏈表,利用一個輔助指針,存儲遍歷過程中當(dāng)前指針指向的下一個元素,然后將當(dāng)前節(jié)點元素的指針反轉(zhuǎn)后,利用已經(jīng)存儲的指針往后面繼續(xù)遍歷。源代碼如下:structlinkaintdata;linka*next;);voidreverse(linka*&head)if(head=NULL)return;linka*pre,*cur,*ne;pre=head;cur=head-next;while(cur)ne=cur-next;cur-next=pre;pre=cur;cur=ne;)head-next=NULL;head=pre;)還有一種利用遞歸的方法。這種方法的基本思
18、想是在反轉(zhuǎn)當(dāng)前節(jié)點之前先調(diào)用遞歸函數(shù)反轉(zhuǎn)后續(xù)節(jié)點。源代碼如下。不過這個方法有一個缺點,就是在反轉(zhuǎn)后的最后一個結(jié)點會形成一個環(huán),所以必須將函數(shù)的返回的節(jié)點的 next域置為 NULL。因為要改變 head 指針,所以我用了引用。算法的源代碼如下:linka*reverse(linka*p,linka*&head)if(p=NULL|p-next=NULL)(head=p;returnp;)else(linka*tmp=reverse(p-next,head);tmp-next=p;returnp;)3,判斷兩個數(shù)組中是否存在相同的數(shù)字給定兩個排好序的數(shù)組, 怎樣高效得判斷這兩個數(shù)組中存在相同的數(shù)
19、字?這個問題首先想到的是一個 O(nlogn)的算法。就是任意挑選一個數(shù)組,遍歷這個數(shù)組的所有元素,遍歷過程中,在另一個數(shù)組中對第一個數(shù)組中的每個元素進(jìn)行binarysearch 用 C+實現(xiàn)代碼如下:boolfindcommon(inta,intsize1,intb 口,intsize2)(inti;for(i=0;isize1;i+)(intstart=0,end=size2-1,mid;while(start=end)(mid=(start+end)/2;if(ai=bmid)returntrue;elseif(aibmid)end=mid-1;elsestart=mid+1;)retu
20、rnfalse;)后來發(fā)現(xiàn)有一個 O(n)算法。因為兩個數(shù)組都是排好序的。所以只要一次遍歷就行了。首先設(shè)兩個下標(biāo),分別初始化為兩個數(shù)組的起始地址,依次向前推進(jìn)。推進(jìn)的規(guī)則是比較兩個數(shù)組中的數(shù)字,小的那個數(shù)組的下標(biāo)向前推進(jìn)一步,直到任何一個數(shù)組的下標(biāo)到達(dá)數(shù)組末尾時,如果這時還沒碰到相同的數(shù)宇,說明數(shù)組中沒有相同的數(shù)字。boolfindcommon2(inta,intsizel,intb,intsize2)(inti=0,j=0;while(isize1&jbj)j+;if(aibj)i+;)returnfalse;)4,最大子序列問題:給定一整數(shù)序列 A1,A2,An(可能有負(fù)數(shù)),求 A1An
21、 的一個子序列AiAj,使得 Ai 到 Aj 的和最大例如:整數(shù)序列-2,11,-4,13,-5,2,-5,-3,12,-9 的最大子序列的和為 21。對于這個問題,最簡單也是最容易想到的那就是窮舉所有子序列的方法。利用三重循環(huán),依次求出所有子序列的和然后取最大的那個。當(dāng)然算法復(fù)雜度會達(dá)到 O(M3)。顯然這種方法不是最優(yōu)的,下面給出一個算法復(fù)雜度為 O(n)的線性算法實現(xiàn),算法的來源于 ProgrammingPearls 一書。在給出線性算法之前,先來看一個對窮舉算法進(jìn)行優(yōu)化的算法,它的算法復(fù)雜度為 0(門八 2)。其實這個算法只是對對窮舉算法稍微做了一些修改:其實子序列的和我們并不需要每次
22、都重新計算一遍。假設(shè) Sum(i,j)是 Ai.Aj的和,那么Sum(i,j+1)=Sum(i,j)+Aj+10利用這一個遞推,我們就可以得到下面這個算法:intmax_sub(inta,intsize)(inti,j,v,max=a0;for(i=0;isize;i+)(v=0;for(j=i;jmax)max=v;)returnmax;)那怎樣才能達(dá)到線性復(fù)雜度呢?這里運(yùn)用動態(tài)規(guī)劃的思想。先看一下源代碼實現(xiàn):intmax_sub2(inta,intsize)(inti,max=0,temp_sum=0;for(i=0;imax)max=temp_sum;elseif(temp_sum0)t
23、emp_sum=0;)returnmax;)6,按單詞反轉(zhuǎn)字符串并不是簡單的字符串反轉(zhuǎn), 而是按給定字符串里的單詞將字符串倒轉(zhuǎn)過來,就是說字符串里面的單詞還是保持原來的順序,這里的每個單詞用空格分開。例如:H經(jīng)過反轉(zhuǎn)后變?yōu)椋篿sHere如果只是簡單的將所有字符串翻轉(zhuǎn)的話,可以遍歷字符串,將第一個字符和最后一個交換,第二個和倒數(shù)第二個交換,依次循環(huán)。其實按照單詞反轉(zhuǎn)的話可以在第一遍遍歷的基礎(chǔ)上,再遍歷一遍字符串,對每一個單詞再反轉(zhuǎn)一次。這樣每個單詞又恢復(fù)了原來的順序。char*reverse_word(constchar*str)(intlen=strlen(str);char*restr=ne
24、wcharlen+1;strcpy(restr,str);inti,j;for(i=0,j=len-1;ij;i+,j-)(chartemp=restri;restri=restrj;restrj=temp;intk=0;while(klen)(i=j=k;while(restrj!=&restrj!=)j+;k=j+1;j-;for(;ij;i+,j-)(chartemp=restri;restri=restrj;restrj=temp;returnrestr;如果考慮空間和時間的優(yōu)化的話,當(dāng)然可以將上面代碼里兩個字符串交換部分改為異或?qū)崿F(xiàn)。例如將chartemp=restri;restri
25、=restrj;restrj=temp;改為restriA=restrj;restrjA=restri;restriA=restrj;7,字符串反轉(zhuǎn)我沒有記錯的話是一道 MSN 的筆試題,網(wǎng)上無意中看到的,拿來做了一下。題目是這樣的,給定一個字符串,一個這個字符串的子用,將第一個字符串反轉(zhuǎn),但保留子用的順序不變。例如:輸入:第一個字符串:ThisisfishskysChinesesite:http:/ stack 把它反轉(zhuǎn),同時記錄下子用出現(xiàn)的位置。然后再掃描一遍把記錄下來的子用再用 stack 反轉(zhuǎn)。我用的方法是用一遍掃描數(shù)組的方法。掃描中如果發(fā)現(xiàn)子用,就將子用倒過來壓入堆棧。最后再將堆棧里
26、的字符彈出,這樣子用又恢復(fù)了原來的順序。源代碼如下:#include#include#includeusingnamespacestd;/reversethestrings1exceptthesubstringtoken.constchar*reverse(constchar*s1,constchar*token)(assert(s1&token);stackstackl;constchar*ptoken=token,*head=s1,*rear=s1;while(*head!=)(while(*head!=&*ptoken=*head)(ptoken+;head+;if(*ptoken=)/
27、containthetoken(constchar*p;for(p=head-1;p=rear;p-)stack1.push(*p);ptoken=token;rear=head;else(stack1.push(*rear);head=+rear;ptoken=token;char*return_v=newcharstrlen(s1)+1;inti=0;while(!stack1.empty()(return_vi+=stack1.top();stack1.pop();)return_vi=;returnreturn_v;)intmain(intargc,char*argv)coutThis
28、isfishskysChinesesite:http:/ 為結(jié)束標(biāo)志,要求將重復(fù)的數(shù)字用一個數(shù)字代替,例如:將數(shù)組 1,1,1,2,2,2,2,2,771,5,5,5,0 轉(zhuǎn)變成 1,2,7,1,5,0 問題比較簡單,要注意的是這個數(shù)組是動態(tài)的。所以避免麻煩我還是用了 STL 的 vector。#include#includeusingnamespacestd;/removetheduplicatednumbersinanintgerarray,thearraywasendwith0;/e.g.1,1,1,2,2,5,4,4,4,4,1,0-1,2,5,4,1,0voidstaticremov
29、e_duplicated(inta,vector&_st)_st.push_back(a0);for(inti=1;_st_st.size()-1!=0;i+)if(ai-1!=ai)_st.push_back(ai);)當(dāng)然如果可以改變原來的數(shù)組的話,可以不用 STL,僅需要指針操作就可以了。下面這個程序?qū)⑿薷脑瓉頂?shù)組的內(nèi)容。voidstaticremove_duplicated2(inta)(if(a0=0|a=NULL)return;intinsert=1,current=1;while(acurrent!=0)(if(acurrent!=acurrent-1)(ainsert=acurrent;insert+;current+;)elsecurrent+;)ainsert=0;)9,如何判斷一棵二叉樹是否是平衡二叉樹問題:判斷一個二叉排序樹是否是平衡二叉樹解
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025四月份光伏幕墻透光板材發(fā)電效率擔(dān)保協(xié)議書
- 門面房屋出租合同書
- 擔(dān)保協(xié)議書模板二零二五年
- 房屋贈與協(xié)議模板二零二五年
- 流動資金借款及保證協(xié)議
- 二零二五棉花地承包合同
- 安全生產(chǎn)及環(huán)境保護(hù)協(xié)議二零二五年
- 二零二五汽車試駕協(xié)議書
- 二零二五版股權(quán)無償轉(zhuǎn)讓合同范例
- 科技型中小企業(yè)技術(shù)創(chuàng)新基金投訴和舉報處理辦法(暫行)
- 【初中生物】食物中營養(yǎng)物質(zhì)課件2024-2025學(xué)年人教版生物七年級下冊
- 礦產(chǎn)資源開發(fā)合作框架協(xié)議書范本
- 2025年寧波衛(wèi)生職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 征文投稿(答題模板)原卷版-2025年高考英語答題技巧與模板構(gòu)建
- 智慧樹知到《中國文化精粹(河北政法職業(yè)學(xué)院)》2025章節(jié)測試附答案
- 空壓機(jī)每日巡檢記錄表-
- 2024-2025學(xué)年統(tǒng)編版七年級下冊歷史第一單元測驗卷
- 10.2.2 加減消元法(課件)2024-2025學(xué)年新教材七年級下冊數(shù)學(xué)
- 樁基工程技術(shù)標(biāo)投標(biāo)文件(技術(shù)方案)
- 2025年高中數(shù)學(xué)說題比賽系列課件
- 2024年吉林水利電力職業(yè)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
評論
0/150
提交評論