資料結構入門 線性結構

2021-10-24 23:32:40 字數 1678 閱讀 6863

把所有的節點用一根直線串起來

連續儲存[陣列]

什麼叫做陣列:元素型別相同,大小相等

重點看**吧,需要注意的都在注釋裡,多敲幾遍,當然了,有些功能還沒有實現,以後再實現

#include #include #include // 定義了乙個資料型別,這個資料型別的名字叫做struct arr,有三個成員

struct arr

;void init_arr(struct arr * parr , int length);

bool insert_arr(struct arr * parr , int pos , int val); //pos值從1開始

bool delete_arr(struct arr * parr , int pos , int *pval); // 這個指標用來接收刪除的那個值

bool is_empty(struct arr * parr );

bool is_full(struct arr * parr );

void sort_arr(struct arr * parr );

void show_arr(struct arr * parr );

void inversion_arr(struct arr * parr);

int main(void)

// 用於初始化,自己指定長度

void init_arr(struct arr * parr , int length)

else

return;

}// 輸出陣列

void show_arr(struct arr * parr )

else }

}// 判斷陣列是否為空

bool is_empty(struct arr * parr )

// 判斷陣列是否滿了

bool is_full(struct arr * parr )

// 末尾新增元素

else }

// 指定位置插入指定的元素

bool insert_arr(struct arr * parr , int pos , int val)

// 把指定元素插入到指定位置就可以了,然後個數加1

parr->pbase[pos-1] = val;

parr->cnt++;

printf("插入成功\n");

return true;

}// 刪除指定位置的值,並返回刪除的值,用指標

bool delete_arr(struct arr * parr , int pos , int *pval)

if (pos < 1 || pos > parr->cnt)

// 把要刪除的那個值先賦值

*pval = parr->pbase[pos-1];

for (i = pos; i <= parr->cnt; i++)

parr->cnt--;

printf("刪除成功\n");

return true;

}// 進行倒置

void inversion_arr(struct arr * parr)

return;

}// 排序

void sort_arr(struct arr * parr )

} }}

資料結構 線性結構

typedef int position typedef struct lnode list struct lnode 初始化 list makeempty 查詢 define error 1 position find list l,elementtype x 插入 bool insert lis...

資料結構 線性結構

線性表基本操作有 1 list makeempty 初始化乙個新的線性表 2 elementtype findkth list l,int i 根據指定的位序i,返回l中相應元素ai i是下標 3 position find list l,elementtype x 已知x,返回線性表l中與x相同的...

資料結構 線性結構與非線性結構

線性結構是最常用的資料結構,其特點是資料元素之間存在著一對一的線性關係。線性結構有著兩種不同的儲存結構,順序儲存結構 陣列 和鏈式儲存結構 鍊錶。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的。鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,並且鍊錶元素節點中存放著資料元素以及相鄰...