資料結構之線性表(一)

2021-07-06 05:07:49 字數 1639 閱讀 3468

線性表的順序儲存結構

1.標頭檔案sqlist.h

#define true 1

#define false 0

#define ok 1

#define error 0

#define elemtype int

#define list_init_size 10

#define list_increment 10

typedef int status;

typedef struct

sqlist;

status initlist(sqlist &l);//初始化

status destorylist(sqlist &l);//銷毀銷毀

status clearlist(sqlist &l);//清空線性表

status getelem(sqlist l,int i,int &e);//獲取線性表中指定位置元素

status listinsert(sqlist &l,int i,int e);//在指定位置插入元素

status listdelete(sqlist &l,int i,int &e);//刪除指定位置元素,並用e返回值

status locateelem(sqlist l,int e);//獲取元素子啊線性表中的位置

status listlength(sqlist l);//獲取線性表的長度

status ergodiclist(sqlist l);//線性表的遍歷

2.函式實現sqlist.cpp

#include #include #include #include "sqlist.h"

status initlist(sqlist &l)

status destorylist(sqlist &l)

status clearlist(sqlist &l)

status getelem(sqlist l,int i,int &e)

status listinsert(sqlist &l,int i,int e)

elemtype *q=&(l.elem[i-1]);//q為插入位置

elemtype *p;

for(p=&(l.elem[l.length-1]);p>=q;p--)

*(p+1)=*p;

*q=e;

l.length++;

return ok;

}status listdelete(sqlist &l,int i,int &e)

status locateelem(sqlist l,int e)

getelem(l,4,e);//獲取第四個元素

ergodiclist(l);//遍歷

printf("%d\n",e);//列印

flag=locateelem(l,e);//查詢是否存在e

printf("%d\n",flag);//檢視返回結果

listdelete(l,6,e);//刪除

ergodiclist(l);//遍歷

printf("%d\n",e);//列印

destorylist(l);//銷毀

return 0;

}

資料結構之線性表 一

因為準備考研的原因,想對資料結構進行深入學習,準備寫部落格來記錄學習的知識。如有問題的地方望各位大佬指出。首先定義 線性表是具有相同特性資料元素的乙個有限序列。線性表的儲存結構有順序儲存結構和鏈式儲存結構兩種。第一種稱為順序表,第二種稱為鍊錶。對於兩種結構的記憶,順序表跟陣列類似,而鍊錶像生活中的火...

mysql 線性表 資料結構之線性表

概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元...

資料結構之線性表

從現在開始,我們開始討論如何實現一些常用的資料結構和其中的一些經典演算法.等把資料結構講完了.我可能會繼續討論vc 的程式設計只是以及vs平台下的c c 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變...