資料結構與演算法(2)順序表

2021-07-16 13:25:46 字數 910 閱讀 5540

在之前的順序表中,我們使用陣列來儲存資料元素,但是這樣的結構有很大的隱患。在一些情況下,我們無法事先確定資料元素的規模。如果資料元素很少的話,陣列很多空間是浪費的, 如果資料元素比較大的話,陣列可能會出現溢位的危險,這比單純的浪費空間要嚴重的多。c語言是不支援動態陣列的,但是我們可以通過指標實現這乙個特性

typedef

char elemtype;

typedef

structsqlist;

/*

初始化順序表

*/status initlist(sqlist *l)

/*

銷毀順序表

*/ status listdestory(sqlist *l)

/*

清空順序表

*/status listclear(sqlist *l)

/*

在順序表中插入元素

*/status

listinsert(sqlist *l, int i, char e)

}if (i < 1 || i > l->length + 1)

for (j = l->length; j >= i; --j)

l->elem[j] = l->elem[j - 1];

l->elem[i - 1] = e;

l->length++;

return ok;

}

/*

在順序表中刪除元素

*/status listdelete(sqlist *l, int i, char *e)

資料結構與演算法 順序表

python中的list和tuple兩種型別採用了順序表的實現技術,具有前面討論的順序表的所有性質。tuple是不可變型別,即不變的順序表,因此不支援改變其內部狀態的任何操作,而其他方面,則與list的性質類似。python標準型別list就是一種元素個數可變的線性表,可以加入和刪除元素,並在各種操...

Python描述 資料結構與演算法 2 順序表

2.1 線性表的概念和性質 2.1.1 線性表是 e ee 中有窮個元素的組成的序列 l e0,e 1,en 1 l e e e l e0 e1 en 1 元素之間的關係 為乙個二元組的集合 r r r 2.1.2 對於非空的線性表或者線性結構的特點 2.1.3 線性表的抽象資料型別adt 2.1....

資料結構與演算法之順序表

include include define maxsize 100 typedef char elemtype typedef struct list sqlist void createlist sqlist l,elemtype a,int n 建立順序表 void initlist sqli...