順序表 單鏈表

2021-09-17 20:04:49 字數 2778 閱讀 1960

**如下;

//順序表基本運算演算法

#include

#include

#include

#define maxsize 100

using namespace std;

typedef

int elemtype;

typedef

struct

sqlist;

void

createlist

(sqlist *

&l,elemtype a,

int n)

//由a中的n個元素建立順序表

l->length=k;

}void

initlist

(sqlist *

&l)//初始化線性表

void

destroylist

(sqlist *

&l)//銷毀線性表

bool listempty

(sqlist *

&l)//判斷線性表是否為空表

intlistlength

(sqlist *

&l)//求出線性表的長度

void

displist

(sqlist *

&l)//輸出線性表

cout<}bool getelem

(sqlist *

&l,int i,elemtype &e)

//求出線性表的某個元素的值

intlocateelem

(sqlist *

&l,elemtype e)

//按元素查詢

bool listinsert

(sqlist *

&l,int i,elemtype &e)

//插入資料元素

}bool listdelete

(sqlist *

&l,int i,elemtype &e)

//刪除資料元素

}int

main()

;createlist

(p,a,4)

;//建立順序表

////destroylist(p);

//char o[5]=listempty(p);

//coutlistlength

(p);

//求出順序表的長度

cout

(p);

int y=

locateelem

(p,2);

//查詢元素

cout

//cout//單鏈表基本運算演算法

#include #include #include #include typedef int elemtype;

using namespace std;

typedef struct lnode

linknode; //宣告單鏈表結點型別

void createlistf(linknode *&l,elemtype a,int n)

//頭插法建立單鏈表

}void createlistr(linknode *&l,elemtype a,int n)

//尾插法建立單鏈表

r->next=null; //終端結點next域置為null

}void initlist(linknode *&l)

void destroylist(linknode *&l)//銷毀單鏈表

free(pre); //此時p為null,pre指向尾結點,釋放它

}bool listempty(linknode *l)//判斷單鏈表是否為空

int listlength(linknode *l)//求出長度

return(i);

}void displist(linknode *l)//輸出鍊錶

printf("\n");

}bool getelem(linknode *l,int i,elemtype &e)

if (p==null) //不存在第i個資料結點

return false;

else //存在第i個資料結點

}int locateelem(linknode *l,elemtype e)//查詢

if (p==null)

return(0);

else

return(n);

}bool listinsert(linknode *&l,int i,elemtype e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點*p

}bool listdelete(linknode *&l,int i,elemtype &e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點p

}int main()

; createlistf(p,a,4);//頭插法建立單鏈表

destroylist(p);//銷毀單鏈表

displist(p);

createlistr(p,a,4);//尾插法建立單鏈表

displist(p);

int length1=listlength(p);//求出單鏈表的長度

cout<

順序線性表單鏈表的操作

單鏈表操作.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std define ok 1 define error 0 define true 1 define false 0 typedef int elemtype type...

資料結構 順序表 單鏈表的 比較 總結

優缺點文字部分 順序表和煉表de優缺點 順序表的優點 方法簡單,各種高階語言中都有陣列,容易實現。不用為表示結點間的邏輯關係而增加額外的儲存開銷 鍊錶要增加額外的指標域 順序表具有按元素序號隨機訪問的特點。缺點在順序表中做插入刪除操作時,平均移動大約表中一般的元素,因此對n較大的順序表效率低。需要預...

C語言實現資料結構 順序表,單鏈表

線性表分為 順序儲存結構和連儲存結構 順序儲存結構的優點 1.空間利用率高,幾乎不需要額外的空間開銷.2.資料的邏輯結構和物理結構完全一致.3.結點位址計算的時間和線性表的規模大小無關.4.可以用一維陣列實現儲存.但是有兩個缺點 1.順序儲存結構的儲存空間是靜態分配,必須有足夠大的連續儲存空間,如果...