線性表的順序結構

2021-10-25 04:19:32 字數 1933 閱讀 3413

```cpp

執行環境:devcpp

編寫語言:c++

線性表的順序結構演算法操作

#include

using

namespace std;

#define maxsize 20

typedef

struct

sqlist;

//線性表的邏輯元素是從1開始

/* sqlist *l和 sqlist *&l的區別:

(1)*&l:是指標型別的引用 ,代表原指標 */

intmain()

;createlist

(l,a,5)

; e =

getelem

(l,2);

getlist

(l);

cout<<

'\n'

<<

"下標為2的元素"

<" "

(l,5,6

);cout<<

"在第5個位置插入乙個數字:6,後線性表為:"

(l);

cout<<

'\n'

<<

"在第2個位置刪除乙個數字,後線性表為:"

(l,2

,e);

getlist

(l);

return0;

}//線性表的第i個位置插入乙個值,插入平均移動次數為:n/2

bool

listinsert

(sqlist *

&l,int i,

int e)

i--;//線性表的邏輯位置是從1開始,故:減1

//往後面移動

for(

int j = l-

>length;j>i;j--)

l->data[i]

= e;

l->length++

;//長度增 1

return

true;}

//刪除線性表第i個位置的值

bool

listdelete

(sqlist *

&l,int i,

int&e)

i--;//線性表邏輯號從1開始

e = l-

>data[i]

;//賦值

//往前面移動

for(

int j = i;j>length-

1;j++)

l->length--

;return

true;}

//建立乙個順序線性表

void

createlist

(sqlist *

&l,int a,

int n)

l->length = k;

}//銷毀線性表

void

destorylist

(sqlist *

&l)//列印輸出

void

getlist

(sqlist *

&l)}

//初始化線性表

void

initlist

(sqlist *

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

bool

listempty

(sqlist *l)

//線性表的長度

intlistlength

(sqlist *l)

////求線性表中第i個資料元素

intgetelem

(sqlist *l,

int i)

return

(l->data[i]);

}

線性表 線性表的順序儲存結構

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...

線性表 線性表的順序儲存結構

include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...

線性表 線性表的順序儲存結構

include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...