線性表 順序表示和實現(順序表)

2021-10-04 05:39:44 字數 2000 閱讀 2854

線性表——順序表

實現**方式:陣列

說明:1.資料元素從下標0開始

2.順序表元素個數初始是為0,有乙個時為1,即——size比元素個數大1

3.也是size比陣列下標大1

4.有上限——maxsize

/*線性表——順序表

實現**——陣列

1.資料元素從下標0開始

2.順序表元素個數初始是為0,有乙個時為1,即——size比元素個數大1

3.也是size比陣列下標大1

4.有上限——maxsize

有以下臉兩個示例:

*///實驗如:1:

//#include

//#define maxsize 100

//typedef int datatype;

//#include"seqlist.h"

////void main(void)

// listdelete(&mylist, 4, &x);

//// //顯示順序表的當前資料元素

// for (i = 0; i < listlength(mylist); i++)

//}//實驗如下2:

//#include

//#define maxsize 100

////typedef struct student studenttype;

////typedef studenttype datatype;

//#include"seqlist.h"

////void main(void) ,

// ,

// };

// listinitiate(&mylist);

// for (i = 0; i < 3; i++)

//// //顯示順序表的當前資料元素

// for (i = 0; i < listlength(mylist); i++)

//}//#define maxsize 100//這裡不定義,要在外面定義,否則會報錯,如下

//typedef int datatype;//或typedef char datatype

typedef datatype;

//如果這裡不定義,要在外面定義,否則會報錯

typedef

struct

seqlist;

//初始化順序表l

void

listinitiate

(seqlist *l)

//求當前資料元素個數

//返回順序表l的當前元素個數

intlistlength

(seqlist l)

//插入資料元素

//在順序表l的第i(0<=i<=size)個位置前插入資料元素x(插入到下標為i的位置)

//插入成功返回1,插入失敗返回0

intlistinsert

(seqlist *l,

int i, datatype x)

else

if(i<

0|| i>l->size)

else

}//刪除資料元素

//刪除順序表l的第i(0<=i<=size)個位置的資料元素x(下標為i位置的資料元素)

//插入成功返回1,插入失敗返回0

intlistdelete

(seqlist* l,

int i, datatype* x)

else

}//取資料元素

//取順序表l中第i個資料元素儲存於x中,成功返回1,失敗返回0

intlistget

(seqlist l,

int i, datatype* x)

else

}

順序表示的線性表 順序表

順序表具有以下特徵,邏輯上相鄰的元素,在物理上也是相鄰的,只要確定了第乙個元素的起始位置,線性表上的任一元素都可以隨機訪問因此線性表的順序儲存結構是一種隨機訪問的儲存結構 儲存結構 include listsize 100 typedef struct datatype list listsize ...

線性表順序表示

include include include define listlength 100 typedef struct datatype typedef struct initlist,list 建立並返回乙個空的線性表 list createlist void else printf out o...

線性表的順序表示與實現 順序表

一.順序表的定義 用一組位址連續的儲存單元依次存放線性表的結點,由此得到的線性表簡稱為順序表 sequential list 二.結點ai的儲存位址 假設表中每個結點占用c個儲存單元,其中第乙個單元的儲存位址作為該結點的儲存位址,並設表中開始結點a1的儲存位址 簡稱為基位址 是loc a1 那麼結點...