第四周專案1 順序表的基本運算

2021-07-22 23:44:37 字數 3702 閱讀 1483

煙台大學計算機與控制工程學院   

* 完成日期:2023年9月22日  

* 問題及**

* 問題描述:(1)目的是要測試「建立線性表」的演算法createlist,為檢視建表的結果,需要實現「輸出線性表」的演算法displist。在研習displist中發現,要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法listempty成為必要。這樣,再加上main函式,這個程式由4個函式構成。main函式用於寫測試相關的**。

#include 

#include 

#define maxsize 50    //maxsize將用於後面定義儲存空間的大小

typedef

intelemtype;  

//elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

typedef

struct

sqlist;  

//自定義函式宣告部分

void

createlist(sqlist *&l, elemtype a, 

intn);

//用陣列建立線性表

void

displist(sqlist *l);

//輸出線性表displist(l)

bool

listempty(sqlist *l);

//判定是否為空表listempty(l)

//實現測試函式

intmain()  

;  createlist(sq, x, 6);  

displist(sq);  

return

0;  

}  //下面實現要測試的各個自定義函式

//用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

//輸出線性表displist(l)

void

displist(sqlist *l)  

//判定是否為空表listempty(l)

bool

listempty(sqlist *l)    

執行結果:

(2)在已經建立線性表的基礎上,求線性表的長度listlength、求線性表l中指定位置的某個資料元素getelem、查詢元素locateelem的演算法都可以實現了。就在原程式的基礎上增加:增加求線性表的長度listlength的函式並測試;增加求線性表l中指定位置的某個資料元素getelem的函式並測試;增加查詢元素locateelem的函式並測試

#include 

#include 

#define maxsize 50    //maxsize將用於後面定義儲存空間的大小

typedef

intelemtype;  

//elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

typedef

struct

sqlist;  

//自定義函式宣告部分

void

createlist(sqlist *&l, elemtype a, 

intn);

//用陣列建立線性表

void

displist(sqlist *l);

//輸出線性表displist(l)

//實現測試函式

intmain()  

//下面實現要測試的各個自定義函式

//用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

//輸出線性表displist(l)

void

displist(sqlist *l)    (

3)其餘

的4個基

本運算:

插入資料

元素li

stin

sert

、刪除數

據元素l

istd

elet

e、初始

化線性表

init

list

、銷毀線

性表de

stro

ylis

t都可以

同法完成

,請自行

安排實踐

路線。(

3)其餘

的4個基

本運算:

插入資料

元素li

stin

sert

、刪除數

據元素l

istd

elet

e、初始

化線性表

init

list

、銷毀線

性表de

stro

ylis

t都可以

同法完成

,請自行

安排實踐

路線。(3)其餘的4個基本運算:插入資料元素listinsert、刪除資料元素listdelete、初始化線性表initlist、銷毀線性表destroylist都可以同法完成,請自行安排實踐路線。

#include 

#include 

#define maxsize 50    //maxsize將用於後面定義儲存空間的大小

typedef

intelemtype;  

//elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

typedef

struct

sqlist;  

//用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

//初始化線性表initlist(l)

void

initlist(sqlist *&l)   

//引用型指標

//銷毀線性表destroylist(l)

void

destroylist(sqlist *&l)  

//判定是否為空表listempty(l)

bool

listempty(sqlist *l)  

//求線性表的長度listlength(l)

intlistlength(sqlist *l)  

//輸出線性表displist(l)

void

displist(sqlist *l)  

//求某個資料元素值getelem(l,i,e)

bool

getelem(sqlist *l,

inti,elemtype &e)  

//按元素值查詢locateelem(l,e)

intlocateelem(sqlist *l, elemtype e)  

//插入資料元素listinsert(l,i,e)

bool

listinsert(sqlist *&l,

inti,elemtype e)  

//刪除資料元素listdelete(l,i,e)

bool

listdelete(sqlist *&l,

inti,elemtype &e)  

intmain()    

執行結果:

第四周 專案1

all right reserved.完成日期 2015年10月6日 版本號 v1.0 問題描述 定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果。輸入描述 無 程式輸出 頭插法後的資料排列和尾插法的資料排列 include include typedef int elemty...

第四周專案1

輸入描述 無 輸出描述 顯示頭插法和尾插法建立的單鏈表 include include typedef int elemtype typedef struct lnode 定義單鏈表結點型別 linklist void createlistf linklist l,elemtype a,int n ...

第四周專案二

檔名稱 array.cpp 作 者 李中意 完成日期 2014 年 3月 19 日 版本號 v1.0 輸入描述 無 include includeusing namespace std class void setb double y void setc double z double geta v...