定義乙個結構體順序存放資料。
#define max_size 1000
typedef char seqlisttype;
typedef struct seqlistlistseqlist;
列印順序表函式
void seqlistprint(seqlist* seqlist)//列印順序表中的陣列
int i = 0;
int len = seqlist->size;
for (i = 0; i < len; i++)
printf("\n");
初始化
void seqlistinit(seqlist* seqlist)
seqlist->size = 0;
}
順序表尾插
void seqlistpushback(seqlist* seqlist,seqlisttype value)
if(seqlist->size >= max_size)
++seqlist->size;
seqlist->data[seqlist->size] = value;
return;
}
順序表尾刪
void seqlistpopback(seqlist* seqlist)
if(seqlist->size == 0)
--seqlist->size;
}
頭插
void seqlistpushfront(seqlist* seqlist,seqlisttype value)
if(seqlist->size >= max_size)
++seqlist->size;
size_t i = seqlist->size -1;
for(;i>0;i--)
seqlist->data[0] = value;
return;
}
頭刪
void seqlistpopfront(seqlist* seqlist)
if(seqlist->size == 0)
size_t i = 0;
for(;isize - 1;++i)
--seqlist->size;
return;
}
給定乙個位置,插入value
void seqlistinsert(seqlist* seqlist,size_t pos,seqlisttype value)
if(pos > seqlist->size)
if(seqlist->size >= max_size)
if(pos == 0 )
++seqlist->size;
size_t i = seqlist->size - 1;
for(;i - 1 >= pos;--i)
seqlist->data[pos] = value;
return;
}
給定乙個位置,刪除其對應資料
void seqlisterase(seqlist* seqlist,size_t pos)
if(seqlist->size == 0)
if(pos >= seqlist->size)
size_t i = pos;
for(;isize - 1;++i)
--seqlist->size;
return;
}
資料結構靜態順序表
define max size 10 typedef int datatype struct seqlist 以上 就是建立乙個順序表,其中seqlist是整個順序表的空間而size是順序表中元素的個數。接下來我將用靜態順序表來實現尾插,頭插,任意插入資料,尾刪,頭刪等 標頭檔案 ifndef se...
資料結構 靜態順序表
本篇全部 都在linux系統下完成 用一段位址連續的單元依次儲存資料元素的線性結構,順序表又分為靜態順序表和動態順序表 首先建立乙個結構體seqlist,在結構體中我們定義了乙個陣列seqlist,用來存放資料,以及乙個無符號整形變數size,用來控制順序表有效資料的個數。即我們通過乙個簡單的陣列實...
資料結構靜態順序表
順序表 用一段位址連續儲存單元依次儲存資料元素的線性結構 pragma once 防止標頭檔案重複包含 define max size 10 include include include 實現基於靜態陣列的順序表的以下基本操作 首先先定義乙個結構體型別seqlist arr size 有效的元素個...