資料結構 線性表的順序表示 3

2022-03-12 00:18:48 字數 771 閱讀 9494

題目**於王道2018資料結構考研複習指導線性表的綜合練習

編譯環境:vs2015

題目:長度為n的順序表l,編寫乙個時間複雜度為o(n)、空間複雜度為o(1)的演算法,該演算法刪除線性表中所有值為x的元素。

具體實現如下:

1 #include2 #include3

#define initsize 50

45 typedef int

elementtype;

6 typedef struct

seqlist;

1112

//初始化線性表

13void initlist(seqlist &l)

1819

//建立線性表

20void createlist(seqlist &l,int

n) 25}26

27//

刪除x28

void deletex(seqlist &l,int

x)

35 }//

相當於對原來順序表的更新,祛除值等於x的元素

36 l.length =n;37}

3839

//顯示

40void

showlist(seqlist l) 44}

4546

intmain()

測試結果:

資料結構 線性表的順序表示

1.相關概念 2.順序表的型別定義 順序表的儲存結構 define max 100 順序表可能達到的最大長度 typedef struct sq sqlist elemtype是乙個抽象資料型別 可以是int,float,double等或者是自定義的資料型別。在實際使用是可以使用int,float等...

資料結構之線性表(順序表示)

順序表定義 define maxsize 50 typedef struct sqlist 陣列動態分配 define maxsize 50 typedef struct sqlist 動態分配的語句 c l.data elemtype malloc sizeof elemtype initsize...

資料結構 線性表的順序表示(6 10)

6 從有序表中刪除所有其值重複的元素,使表中所有元素均不同。演算法思想 相同元素一定在連續的位置上,所以如果不同則插入到前面所有非重複的有序表的最後。void del all du sqlist l delete all duplicate else l.data i count l.data i ...