第四階段資料結構

2022-09-03 16:15:02 字數 3309 閱讀 9241

1. 用鍊錶和陣列兩種方式分別實現棧的出棧、入棧、取棧頂元素、判空、查詢等操作。

2. 假設有乙個迴圈鍊錶的長度大於1,且表中既無頭結點也無頭指標。已知p為指向鍊錶中某結點的指標,試編寫演算法在鍊錶中刪除結點p 的前趨結點。

3. 程式設計序,按如下方法求a矩陣的轉置矩陣b:輸入兩個正整數m和n,而後通過使用指標配合new運算子生成乙個m行n列的二維動態陣列a以及另乙個n行m列的二維動態陣列b,之後為a輸入資料(a矩陣資料),進而求出其轉置矩陣b(資料放動態陣列b中)並輸出結果。

4. 設計乙個統計選票的演算法,輸出每個候選的得票結果(假設採用單鏈表存放選票,候選人編號依次為1,2,3,……,n,且每張選票選且只選一人)

提示:以單鏈表存放選票,每個結點的data域存放該選票所選的候選人。用乙個陣列a統計得票結果。

5. 使用getline成員函式讀入某個text檔案中的「一篇文章」(如可以是乙個c++源程式,檔名由使用者從鍵盤輸入),而後將該檔案的各空行以及各程式行中的註解均刪除掉(認為該行中從第乙個雙撇符號「//」開始直至行末的所有符號為註解),並將刪除註解後的結果行寫出到另乙個檔案中,並同時數出結果檔案的總行數totalline,以及結果檔案中最長行和最短行的行長maxlinelen與minlinelen。

6. 設計乙個程式,演示用算符優先法對算術表示式求值的過程。

基本要求:以字串行的形式從終端輸入語法正確的、不含變數的整數表示式。利用教科書表3.

1給出的算符優先關係,實現對算術四則混合運算表示式的求值,並仿照教科書的例3_1演示在求值中運算子棧、運算數棧、輸入字元和主要操作的變化過程。

測試資料:3*(7-2)

7. 編一程式對至少三個排序方法進行比較,比較方法是生成一組資料(≥400),用選定的排序方法進行排序。輸出每種方法資料比較或交換的次數。最後輸出所花費的時間。

注:此題要用到vc++函式庫中time()函式

time_t time(time_t *timeptr)

引數說明:time_t *timeptr 指向存放自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數,型別為time_t的指標變數。

功能描述:函式讀取當前時間,然後計算自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數,結果被放在型別為time_t的指標變數所指向的位址變數中。

函式返回值:返回自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數

標頭檔案:

8. 編制具有如下原型的函式findfirst以及 findlast,而後編制主函式,任意輸入兩個字串,將它們用作實參來呼叫這兩個函式,以驗證其正確性。

char * findfirst(char * sourcestr, char * substr);

char * findlast(char * sourcestr, char * substr);

findfirst函式的功能為:返回源串sourcestr中第一次出現substr子字串的頭字元位置(位址值)。如果源串sourcestr的長度小於substr子字串的長度,或者源串sourcestr中根本就不出現substr子字串的話,返回空指標值null。

findlast函式則要返回源串sourcestr中最後一次出現substr子字串的頭字元位置。且要求實現程式中不可使用「標頭檔案內有關尋找子串的標準庫函式。

提示:findfirst函式中,首先把substr子串的頭位置j0=0(j0表示substr字元陣列的下標)與sourcestr源串的頭位置j1=0(j1表示sourcestr字元陣列的下標)「對齊」,而後逐字元地對兩個串進行比較(從左到右),若一直比到了子串的結束各字元均相同時,則意味著在源串中找到了子串,此時返回子串在源串中的頭字元位置(位址值);若逐字元進行比較時發現有不相同,則要進一步將substr子串的頭位置j0=0與sourcestr的新頭位置j1=1「對齊」,而後又一次逐字元地對兩個串進行比較(相當於子串整體「右平移」乙個字元後再一次比較),如此等等。findlast則要首先將子串與源串的右後部「對齊」進行比較,而後子串逐步整體「左平移」。

9. 編寫程式,讓計算機來猜測使用者「暗記」的某張撲克牌:計算機從一副撲克牌(54張)中任意抽出27張,擺放在不同的三行上(每行9張),使用者「暗記」某張紙牌,而後告訴計算機所「暗記」的那張紙牌處於哪一行中;之後計算機再兩次將紙牌重新擺放,並讓使用者再回答兩次相同的提問(那張紙牌在重新擺放後又處在哪一行上);此時計算機會將使用者所「暗記」的那張紙牌給挑出來。

例如,程式執行後的螢幕顯示結果可設計為(其中的字首a、b、c、d代表四種不同的花色):

line 1: c-9 d-3 a-7 d-9 a-9 c-3 b-8 a-a d-7

line 2: b-10 a-q d-6 b-4 a-3 b-9 b-k c-a d-8

line 3: king2 d-a b-a a-4 a-2 b-7 d-5 c-7 a-8

remember a card, and tell me what line it reside in(1/2/3): 3

line 1: c-9 d-3 a-7 b-10 a-q d-6 king2 d-a b-a

line 2: d-9 a-9 c-3 b-4 a-3 b-9 a-4 a-2 b-7

line 3: b-8 a-a d-7 b-k c-a d-8 d-5 c-7 a-8

what line the card you remembered reside in now (1/2/3) : 1

line 1: c-9 b-10 king2 d-9 b-4 a-4 b-8 b-k d-5

line 2: d-3 a-q d-a a-9 a-3 a-2 a-a c-a c-7

line 3: a-7 d-6 b-a c-3 b-9 b-7 d-7 d-8 a-8

what line the card you remembered reside in now (1/2/3) : 1

your remembered card is : king2

提示:1)要從一副54張的撲克牌中任意抽出27張,可通過「rand()%54」所產生的隨機值來確定。但注意,一旦隨機抽走哪張,下次牌中就沒有這張了。

2)程式總按照一種策略將三行紙牌重新「擺放」,而後進一步讓使用者進行指定。上述所謂的策略指的是,總將紙牌「一分為三」:第一次要將每一行的9張分散到不同的3行上(每行僅「剩」3張),而第二次則要將上次「確定」出的某3張進一步分散到不同的3行上(每行只「剩」1張。

此時靠使用者再指定一次行號則可唯一確定所「暗記」的那張紙牌)。

執法執紀第四階段總結

園區地稅局開展執法執紀 稅風稅貌檢查活動檢查驗收階段工作報告 市地稅局 自2010年12月開展執法執紀稅風稅貌檢查活動以來,經過半年的分階段部署和檢查實施,已經步入尾聲,在此期間,我局在區局和市局兩級領導下,認真貫徹有關精神,嚴格按照活動計畫安排,群策群力,集中解決活動中發現的問題,著力提高納稅服務...

課題組第四階段小結

三岔小學課題組 關於 教學內容的選擇與安排 第四階段小結 我鎮課題組通過前三個階段的工作,反覆實驗,於2000年三月形成了 大邑縣三岔鎮中心小學校教學內容的選擇和安排實驗方案 並進行推廣實驗。通過推廣實驗,我鎮教師在課堂教學中做到目標明確,圍繞目標有針對性地安排,選擇恰當的教學內容,加快 加深了他們...

政風行風第四階段工作總結

清源鎮周府莊小學 開展 政風行風集中整治活動 第四階段 工作總結 按照 清源學區政風行風集中整治活動第四階段工作安排 的要求,我校在2013年11月全面啟動政風行風第四階段 建章立制階段 工作,經過全體教師的努力,圓滿完成了第四階段工作任務,針對第四階段工作情況,現作如下總結 一 校務公開制度進一步...