6 線性表的相關操作

2021-10-14 09:25:02 字數 1760 閱讀 4916

建立線性表

銷毀線性表

清空線性表

將元素插入線性表

將元素從線性表中刪除

獲取線性表中某個位置的元素

獲取線性表的長度

線性表在程式中表現為一種特殊的資料型別

線性表的操作在程式中的表現為一組函式

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-umzyeoic-1610235940150)(e:\md檔案資源\1609553862012.png)]

2-1.h

#pragma once

#include

typedef

void list;

typedef

void listnode;

/*該方法用於建立並且返回乙個空的線性表

*/list*

list_create()

;/*該方法用於銷毀乙個線性表list

*/void

list_destory

(list* list);/*

該方法用於將乙個線性表list中的所有元素清空

使得線性表回到建立時的初始狀態

*/void

list_clear

(list* list);/*

該方法用於返回乙個線性表list中的所有元素個數

*/int

list_length

(list* list);/*

該方法用於向乙個線性表list的pos位置處插入新元素node

返回值為1表示插入成功,0表示插入失敗

*/int

list_insert

(list* list, listnode* node,

int pos);/*

該方法用於獲取乙個線性表list的pos位置處的元素

返回值為pos位置處的元素,null表示獲取失敗

*/listnode*

list_get

(list* list,

int pos);/*

該方法用於刪除乙個線性表list的pos位置處的元素

返回值為被刪除的元素,null表示刪除失敗

*/listnode*

list_delete

(list* list,

int pos)

;

2-1.c

#include

"2-1.h"

list*

list_create()

void

list_destory

(list* list)

void

list_clear

(list* list)

intlist_length

(list* list)

intlist_insert

(list* list, listnode* node,

int pos)

listnode*

list_get

(list* list,

int pos)

listnode*

list_delete

(list* list,

int pos)

線性表在程式中表現為一種特殊的資料型別

線性表的操作則表現為一組相關的函式

問題:線性表的各個函式如何實現呢 ?

有幾種線性表的實現方式呢 ?

每種實現方式的優缺點是什麼呢?

線性表的相關操作

順序表的建立 status initlist sqlist l 順序表的銷毀 status destroylist sqlist l 順序表的清空 status clearlist sqlist l 判斷順序表是否為空 status listempty sqlist l 順序表的元素個數 int l...

線性表及其相關操作

一 定義 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表 linear list 是資料結構的一種,乙個線性表是n個具有相同特性的資料元素的有限序列。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的 注意,這句話只適用大部分線性表,而...

線性表順序儲存相關操作

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。下面給出關於線性表順序儲存常用操作的 include define maxsize 20 儲存空間初始分配量 define true 1 define false 0 typedef int elemtype typede...