線性表 順序結構

2021-10-11 14:01:51 字數 2261 閱讀 1992

線性表分為順序儲存結構和鏈式儲存結構

順序結構

接下來看線性表順序儲存的結構**:

#define maxsize 20    

typedef

int elemtype;

typedef

struct

sqlist;

#include

#define maxsize 20

#define ok 1

#define error 0

#define true 1

#define false 0

typedef

int status;

typedef

int elemtype;

typedef

struct

sqlist;

// status 是函式的型別,其值是函式結果狀態**,如ok等。

// 初始條件:順序線性表l已存在,1 <= i <= listlength(l)

// 操作結果:用e返回l中第i個資料元素的值。

status getelem

(sqlist l,

int i, elemtype *e)

*e = l.data[i-1]

;return ok;

}/* 初始條件:順序線性表l已存在,1<=i<=l->length+1。 */

/* 操作結果:在l中第i個位置之前插入新的資料元素e,l長度+1。*/

status listinsert

(sqlist *l,

int i, elemtype e)

if( i<

1|| i>l->length+1)

// 當i不在範圍內時,length+1為陣列最後位置之後的位置

if( i <= l->length )

// 若插入資料位置不在表尾

} l->data[i-1]

= e;

// 將新元素插入

l->length++

;return ok;

}/* 初始條件:順序線性表l已存在,1<=i<=listlength(l)。 */

/* 操作結果:在l中第i個位置刪除資料元素e,並用e返回其值,l長度-1。*/

status listdelete

(sqlist *l,

int i, elemtype *e)

if( i<

1|| i>l->length)

// 當i不在範圍內時,length為陣列最後乙個位置

*e = l->data[i-1]

;//返回刪除的元素值

if( i <= l->length-1)

// 若刪除的資料位置不在表尾

} l->length--

;return ok;

}/*列印線性表所有元素(已插入的)*/

void

print_list

(sqlist *l)

printf

("\n");

}int

main()

,1};

int e,i=0;

printf

("please input e:\n");

scanf

("%d"

,&e)

;printf

("please input i:\n");

scanf

("%d"

,&i)

;listinsert

(&list, i, e)

;print_list

(&list)

;printf

("e:%d\n"

,e);

listinsert

(&list, i, e)

;print_list

(&list)

;printf

("e:%d\n"

,e);

listdelete

(&list, i,

&e);

print_list

(&list)

;printf

("e:%d\n"

,e);

}

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

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。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...