線性表 C語言完整實現

2022-03-03 05:34:13 字數 1406 閱讀 3095

#include #define false 0

#define true 1

#define maxsize 20

typedef int bool;

typedef int elementtype;

struct listnode ;

typedef struct listnode list;

typedef struct listnode *ptrtolist; // 後續函式傳參, 傳的就是指標

ptrtolist makeempty (); // 建立空線性表

bool insert (ptrtolist l, elementtype x, int pos); // 插入

void printnodes (ptrtolist l); // 列印

int find (ptrtolist l, elementtype x); // 查詢

bool delete (ptrtolist l, int pos); // 刪除

int main ()

// 1. 初始化

// 申請乙個list需要的空間, 返回乙個指向ptrtolist的指標

ptrtolist makeempty ()

// 2. 插入

// pos的合法位置是 0 ~ l->length

// 例如 pos=0, 則代表所有元素都向右移動一格, 把陣列0下標空

// 出來, 執行, l->data[0] = x;

// 成功返回true, 失敗返回false

bool insert (ptrtolist l, elementtype x, int pos)

if (pos < 0 || pos > l->length)

for (i=l->length; i>=pos+1; i--)

l->data[pos] = x;

l->length += 1;

return true;

}// 3. 列印輸出

void printnodes (ptrtolist l)

printf("\n");

}// 4. 查詢

// 找到返回位置下標, 找不到返回 -1

int find (ptrtolist l, elementtype x)

}return -1;

}// 5. 刪除

// 刪除指定位置pos的元素

// pos取值範圍, [0, l->length-1]

bool delete (ptrtolist l, int pos)

for (i=pos; i<=l->length; i++)

l->length--;

return true;

}

C語言線性表的實現

define ok 1 define error 0 define true 1 define false 0 include include 線性鍊錶的實現 adt 線性表 list data operation creatlist l 初始化操作,建立乙個空的線性鍊錶l。listempty l ...

線性表c語言實現

lineartable.h pragma once 線性表的實現 define maxsize 20 define ok 1 define error 2 typedef struct list list t 線性表初始化 void initlist list t list 根據下表查詢資料 int...

C語言實現線性表

include include define maxsize 100 定義線性表最大長度 定義順序表 typedef struct seqlist 初始化順序表 void initlist seqlist l 建立順序表 intcreatlist seqlist l,int a,int n for ...