資料結構與演算法實驗 1

2021-09-18 02:40:56 字數 1844 閱讀 5668

7-1 陣列元素迴圈右移問題 :

同上

7-2 有序鍊錶的插入 (20 分)

已知乙個遞增有序鍊錶l(帶頭結點,元素為整數),編寫程式將乙個新整數插入到l中,並保持l的有序性。 其中單鏈表的型別定義參考如下:

typedef int elementtype;

typedef struct lnode

lnode, linklist;

輸入格式:

輸入分三行

第一行 元素個數

第二行 元素的值,元素間用空格分隔。

第三行 待插入的元素值

輸出格式:

在一行中輸出有序鍊錶元素值,每個元素前輸出乙個空格以便與相鄰元素分隔。

輸入樣例:

51 3 5 7 9

4輸出樣例:

1 3 4 5 7 9

c++:

#include

#include

using namespace std;

typedef

int elementtype;

typedef

struct inodelnode,

*linklist;

int n;

void

init

(linklist *l)

//初始化頭結點

void

attach

(linklist *p,

int value)

//輸入資料是插入鍊錶

void

insert

(linklist l,

int value)

//插入要插入鍊錶

else

l=l->next;}if

(value>l->data&&flag==0)

//到尾節點並且要插入的元素大於尾結點元素其實value>l->data並沒有必要加

}void

print

(linklist l)

//列印鍊錶元素

}int

main()

cin>>k;

insert

(l,k)

; t = l->next;

free

(l);

print

(t);

}

7-3 鍊錶去重 (25 分)

同訓練(2)

7-4 簡單計算器 (20 分)

模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。

輸入格式:

輸入在一行中給出乙個四則運算算式,沒有空格,且至少有乙個運算元。遇等號」=」說明輸入結束。

輸出格式:

在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算子,則輸出錯誤資訊「error」。

輸入樣例:

1+2*10-10/2=

輸出樣例:

10

//該題目可檢視不同的讀取函式在緩衝區中是如何獲得資料的。

#include

using namespace std;

intmain()

else

if(b==

'*')

else

if(b==

'-')

else

if(b==

'/')

ans/

=a; b=

getchar()

;}else

} cout<}

7-5正整數分解為若干項之和。

資料結構與演算法實驗祝恩 《資料結構與演算法》實驗報告

保持青春的秘訣,是有一顆不安分的心。資料結構與演算法 實驗報告 模板 實驗題目 線性表綜合實驗 班級 姓名 學號 完成日期 一 實驗目的 熟悉線性表的基本操作在兩種儲存結構上的實現,其中以熟悉各種鍊錶的操作為重點。通過具體應用例項在複習高階程式語言使用方法的基礎上初步了解資料結構的應用。二 實驗內容...

資料結構與演算法實驗祝恩 資料結構與演算法

版 次 1 頁 數 256 字 數 100 開 本 16開 紙 張 膠版紙 印 次 1 包 裝 平裝 膠訂 商品詳情 購書須知 快遞不是小店經營,有問題我們盡量給您解決,請不要因為快遞問題遷怒小店,非常感謝 基本資訊 書名 計算機 資料結構與演算法 定價 29.00元 出版社 清華大學出版社 出版日...

資料結構與演算法(1)

演算法 資料結構 一 演算法 1.演算法的幾個特徵是什麼。2.演算法複雜性的定義。大o 小o分別表示的含義。3.遞迴演算法的定義 遞迴演算法的兩要素。4.分治演算法的思想,經典的分治演算法 全排列 二分搜尋 歸併排序 快速排序 線性時間選擇 最接近點對問題 5.動態規劃演算法解題框架,動態規劃演算法...