C 實現靜態鍊錶

2021-06-21 05:40:50 字數 1593 閱讀 4419

[cpp]view plain

copy

#include

using

namespace

std;  

const

size_t

maxsize =100;  

typedef

struct

slistnode staticlist[maxsize];  

//初始化鍊錶函式

void

initslist(staticlist & space )  

space[maxsize -1].cur = 0;//構成迴圈

}  //分配節點(只需要返回被分配節點在陣列中的下標即可)

intmalloc_sl(staticlist & space )  

return

i;  

}  //**節點到空閒鍊錶

void

free_slnode(staticlist & space,

intt)  

//插入

bool

insert(staticlist & space,

inth,

intm,

intt)

//在第t個元素之前插入乙個下標值為m的新節點

inti = h;  

intn = 0;

//計數器

while

(i)  

i = space[i].cur;  

n++;  

}  return

false

;  }  

//刪除第n個節點

bool

dele(staticlist & space,

inth, 

intn)  

i = space[i].cur;  

m++;  

}  return

false

;  }  

//在表尾增加乙個新節點

bool

add(staticlist & space,

inth,

intm)

//m代表新增加節點的下標值,h表示資料鏈表的頭結點

space[i].cur = m;  

space[m].cur = 0;  

return

true

;  }  

intmain()  

coutcout<<"在第2個元素之前插入乙個值為5的新節點:"

<

t = malloc_sl(mylist);  

mylist[t].data = 5;  

insert(mylist,h,t,2);  

i = mylist[h].cur;  

while

(i)  

cout<

//刪除第2個節點

cout<<"刪除第2節點:"

<

dele(mylist,h,2);  

i = mylist[h].cur;  

while

(i)  

cout<

}

C 實現 靜態鍊錶

include include using namespace std define listmax 100 測試結構 struct person 建立靜態鍊錶初始結構 struct linklist 初始化鍊錶 linklist init list linklist list list listm...

靜態鍊錶實現(C語言)

對於線性鍊錶,也可用一維陣列來進行描述。這種描述方法便於在沒有指標型別的高階程式語言中使用鍊錶結構。先上 include define maxsize 7 typedef struct slinklist maxsize 初始化靜態鍊錶 void list init slinklist list 插...

靜態鍊錶實現

1 include stdio.h 2 struct nodelist 100 space 100 6 int listlen 0 7 void init 813 int free int p 14 18int malloc 1925 void add int p,int val 26 31int ...