筆記 資料結構 線性表 順序表

2021-10-05 11:39:42 字數 3112 閱讀 7287

左側為順序表,右側為鍊錶,區別在於有無在記憶體中順序存放資料。

順序表結構:

typedef

struct tabletable;

順序表初始化:

table inittable()

t.length =0;

t.size =5;

return t;

}

順序表遍歷:

void

displaytable

(table t)

printf

("\n");

}

例子:

#include

#pragma warning(disable:4996)

#define size 5

typedef

struct tabletable;

table inittable()

t.length =0;

t.size = size;

return t;

}void

displaytable

(table t)

printf

("\n");

}int

main()

displaytable

(t);

return0;

}

table addtable

(table t,

int elem,

int add)

if(t.length == t.size)

t.size++;}

for(

int i=t.length-

1;i>=add-

1;i--

) t.head[add-1]

= elem;

t.length++

;return t;

}

table deltable

(table t,

int del)

for(

int i=del;i

) t.length--

;return t;

}

int

findtable

(table t,

int elem)

}return0;

}

table changetable

(table t,

int elem,

int newelem)

t.head[oldelem -1]

= newelem;

return t;

}

#include

#include

#pragma warning(disable:4996)

#define size 5

typedef

struct table table;

table inittable()

t.length =0;

t.size = size;

return t;

}void

displaytable

(table t)

printf

("\n");

}table addtable1

(table t,

int elem,

int add)

if(t.length == t.size)

t.size +=1

;}for(

int i = t.length -

1; i >= add -

1; i--

) t.head[add -1]

= elem;

t.length++

;return t;

}table addtable

(table t,

int elem,

int add)

if(t.length == t.size)

t.size++;}

for(

int i = t.length -

1; i >= add -

1; i--

) t.head[add -1]

= elem;

t.length++

;return t;

}table deltable

(table t,

int del)

for(

int i = del; i < t.length; i++

) t.length--

;return t;

}int

findtable

(table t,

int elem)

}return0;

}table changetable

(table t,

int elem,

int newelem)

t.head[oldelem -1]

= newelem;

return t;

}int

main()

displaytable

(t);

printf

("add 6 in 3\n");

t =addtable

(t,6,3

);displaytable

(t);

t =deltable

(t,3);

displaytable

(t);if(

findtable

(t,3))

else

t =changetable

(t,3,6

);displaytable

(t);

return0;

}

資料結構 線性表 順序表

豐富了前邊的功能,更加完善。include include define list init size 100 線性表儲存空間的初始分配量 define listincrement 10 線性表儲存空間的分配增量 using namespace std const int overflow 2 ty...

資料結構 線性表 順序表

線性表是具有相同特性的資料元素的乙個有限序列。線性表的順序儲存結構是,把線性表中的所有元素按照其邏輯順序依次儲存到從計算機儲存器中指定的儲存位置開始的一塊連續的儲存空間。include include include define maxsize 50 using namespace std 假設l...

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

順序表就是把線性表中的所有元素按照其邏輯順序,依次儲存到從指定的儲存位置開始的一塊連續的儲存空間中。這樣線性表中第乙個元素的儲存位置就是指定的儲存位置,第i 1個元素的儲存位置緊接在第i個元素的儲存位置的後面。順序表就像如下圖中的房子,每個房間左邊的數字就是該房間離0點的距離,同時也代表了房間號,房...