剛接觸資料結構是,因當理解以下概念
資料結構:就是存在一種或多種關係的資料元素的集合
理解:在計算機上記憶體上儲存多個(型別相同的)資料元素,需要通過某種方式(關係)將這些資料元素組織到一塊(集合),還有針對於這些結構的一些操作方法(增刪查改)。
分類:
集合(資料元素之間沒有任何關係,僅僅是在乙個容器中)
線性結構:資料元素之間是一對一的關係(排隊)*
樹形結構:資料元素之間是一對多的關係(二叉樹)
圖形結構或網狀結構:多對多的關係
資料結構的基本操作:初始化、銷毀、插入、刪除、查詢、得出儲存元素個數、判空、判滿…
讓我們先來了解一下資料結構中的順序表:
特點:在邏輯上是連續的,在物理儲存上也是連續的
順序表中的資料元素必須從空間的首位置開始儲存,必須連續儲存,中間不能有空的空間。
初始化順序表
bool
initsqlist
(sqlist *sq,
int init_size)
插入資料:有按位置插入,頭部插入,尾部插入
bool
insertofpos
(sqlist *sq,datatype value,
int pos)
//在pos位置實現資料插入
sq->data[pos]
=value;
//在pos位置插入資料
sq->length++
;//必須將長度加1;}}
bool
insertoffront
(sqlist *sq,datatype value)
bool
insertofrear
(sqlist *sq,datatype value)
//在當前的length插入
其中按位置插入還需要進行空間判滿操作和擴容,**如下:
static
bool
isfull
(sqlist *sq)
static
bool
(sqlist *sq)
//擴容函式
free
(sq-
>data)
;//釋放原空間,否則會出現記憶體洩露
sq->data=new_space;
//指向新的空間
sq->size=size;
//return
true
;}
最後是銷毀順序表,防止野指標的出現。
bool
destroysqlist
(sqlist *sq)
剩下的是一些簡單的輸出操作,相信大家可以自己完成。 資料結構 順序表
順序表的特徵 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...