C語言資料結構拉練 順序表,鍊錶

2021-10-10 16:54:23 字數 3030 閱讀 4466

資料結構 = 結構定義 + 結構操作

#include

#include

#include

// 標註擴容操作的顏色巨集-----"\033[32m列印值\033[0m"

#define color(a, b) "\033[" #b "m" a "\033[0m"

#define green(a) color(a, 32)

(1)陣列指標, (2)容量, (3)長度

typedef

struct vector vec;

初始化與清空

// 返回值應指向當前陣列的首位址

vec *

init

(int n)

void

clear

(vec *v)

擴容

使用realloc進行重擴建: 原址擴容 或 新值擴容, 且不一定開闢成功(返回null且丟失原資料)

int

expand

(vec *v)

if(extr_size ==0)

return0;

printf

(green

("expand sucess "))

; v->data = p;

v->size +

= extr_size;

return1;

}

插入/刪除/顯示

int

insert

(vec *v,

int val,

int id)};

for(

int i = v->length; i > id;

--i)

v->data[id]

= val;

v->length +=1

;return1;

}int

erase

(vec *v,

int id)

v->length -=1

;return1;

}void

output

(vec* v)

printf

("}\n");

return

;}

int

main()

break

;case3:

break;}

output

(v);

}clear

(v);

# undef max_op

return0;

}

#include

#include

#include

typedef

struct listnode listnode;

typedef

struct list list;

初始化/清除

listnode*

getnode

(int val)

list*

getlist()

void

clearnode

(listnode* node)

void

clear

(list* l)

free

(l);

return

;}

插入/刪除/顯示

int

insert

(list* l,

int id,

int val)

interase

(list* l,

int id)

void

output

(list* l)

printf

("null\n");

return

;}

原地翻轉

void

reverse

(list* l)

l->head.next = pre;

return

;}

頭插入翻轉

int

searchid

(list* l,

int id)

return p->data;

}list*

reversehi

(list* l)

return lr;

}

int

main()

break

;case3:

break;}

output

(l);

}printf

("atoreverse:\n");

reverse

(l);

output

(l);

printf

("headinsertreverse:\n");

list* lr =

reversehi

(l);

output

(lr)

;clear

(lr)

;clear

(l);

#undef max_op

return0;

}

C語言 資料結構 順序表和煉表

一 線性表 線性表 linear list 是n個具有相同特性的資料元素的有限序列。線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表 鍊錶 棧 佇列 字串 線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上並不一定是連續的,線性表在物理上儲存時,通常以陣列和鏈式結構的形式...

C語言資料結構 順序表

資料結構的一些講解,供學習者參考,也順帶作為複習 線性表的順序儲存是指在記憶體中用位址連續的一塊儲存空間順序存放線性表的各元素,用這種儲存形式儲存的線性表稱為順序表。因為記憶體中的位址空間是線性的,因此,用物理上的相鄰實現資料元素之間的邏輯相鄰關係既是簡單又自然的。將資料儲存區data和指標last...

資料結構 順序表(C語言)

seqlist.h include include define maxsize 100 typedef struct seqlisttype void seqlistinit seqlisttype sl 初始化順序表 int seqlistlength seqlisttype sl 返回順序表的...