資料結構 順序表

2021-10-03 20:12:44 字數 1526 閱讀 5343

#include typedef struct sequecnedlist;

// *l是指標,全稱是指標變數,是乙個用來儲存記憶體位址的變數。

//* &l是指標型別的引用,代表的是原指標,我們在函式中對指標的操作,都是對原指標的操作;

// l表示順序表指標

//建立順序表sequencedlist

//*l 通過順序表指標可以操作順序表,傳遞的都是順序表指標;

//* &l 引用引數,將執行結果回傳給實參,引用符號&放在形參l的前面;輸出型引數均使用&,不論引數值是否改變;

void createlist(sequecnedlist *&l,elementtype a,int n)

//初始化

void initlist(sequecnedlist* &l)

//銷毀

void destroylist(sequencedlist *&l)

//判斷是否為空表

bool listempty(sequencedlist *l)

//求線性表的長度

int listlength(sequecnedlist *l)

//輸出線性表

void outputlist(sequencedlist *l)

printf("\n");

}//求某個資料元素值

//返回第i個元素的值,存放在e中

//此演算法時間複雜度為o(1)

bool getitem(sequencedlist *l,int i,elementtype &e)

//按元素值查詢

//順序查詢第乙個與e相等的元素邏輯位序,若不存在返回0

int locateelem(sequencedlist *l,elementtype e)

if(i>=l->length) return 0;

else return i+1;

} //插入元素

//o(n)

bool listinsert(sequencedlist *&l,elementtype e,int i)

l->data[i]=e;//插入元素e

l->length++;//順序表長度增長1

return true;

}//刪除元素

//o(n)

bool listdelete(sequencedlist *&l,elementtype e,int i)

l->length--;

return true;

} //設順序表l有10個整數。設計乙個演算法,以第乙個元素為基準,

//將所有小於等於他的元素放到該元素的前面,所有大於他的元素放在該元素的後面

void moving(sqlist *&l)

l->data[j]=l->data[i];

while(l->data[j]>jizhun)

l->data[i]=l->data[j];

} l->data[i]=jizhun;

}

資料結構 順序表

順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...

資料結構 順序表

順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...

資料結構順序表

include include include include include include include include include include include include include include using namespace std define maxn 100000...