資料結構 順序表簡單操作

2021-08-26 05:40:28 字數 2403 閱讀 7510

基於靜態陣列的順序表簡單操作:

初始化

尾插 尾刪

頭插 頭刪

讀任意位置元素

修改任意位置元素

查詢指定元素值的下標

在任意位置插入元素

seqlist.h

#pragma once

#include

#include

#include

#include

#include

#define seqlistmax 1000

typedef char seqlisttype;

typedef struct seqlist

seqlist;

// 1. 初始化

void seqlistinit(seqlist *seq);

void seqlistprint(seqlist *seq , char *ch);

// 2. 尾插

void seqlistpushend(seqlist *seq, seqlisttype value);

// 3. 尾刪

void seqlistpopend(seqlist *seq);

// 4. 頭插

void seqlistpushhead(seqlist *seq, seqlisttype value);

// 5. 頭刪

void seqlistpophead(seqlist *seq);

// 6. 讀任意位置元素

seqlisttype seqlistgetpos(seqlist *seq, size_t pos);

// 7. 修改任意位置元素

void seqlistsetpos(seqlist *seq, size_t pos, seqlisttype value);

// 8. 查詢指定元素值的下標

size_t seqlistgetvalue(seqlist *seq, seqlisttype value);

// 9. 在任意位置插入元素

void seqlistpushpos(seqlist *seq, size_t pos, seqlisttype value);

seqlist.c

#include "seqlist.h"

void seqlistinit(seqlist *seq)

void seqlistprint(seqlist *seq, char *ch)

printf("size = %lu\n",seq->size);

}void seqlistpushend(seqlist *seq, seqlisttype value)

else

}void seqlistpopend(seqlist *seq)

else

}void seqlistpushhead(seqlist *seq, seqlisttype value)

else

seq->seqlistarr[0] = value;

seq->size++;

}}void seqlistpophead(seqlist *seq)

else

seq->size--;

}}seqlisttype seqlistgetpos(seqlist *seq, size_t pos)

return seq->seqlistarr[pos];

}void seqlistsetpos(seqlist *seq, size_t pos, seqlisttype value)

else

}size_t seqlistgetvalue(seqlist *seq, seqlisttype value)

}printf("陣列中無該元素\n");

return -1;

}void seqlistpushpos(seqlist *seq, size_t pos, seqlisttype value)

else

seq->seqlistarr[pos] = value;

}}void testseqlistinit()

void testseqlistpushend()

void testseqlistpopend()

void testseqlistpushhead()

void testseqlistpophead()

void testseqlistgetpos()

void testseqlistsetpos()

void testseqlistgetvalue()

void testseqlistpushpos()

int main()

資料結構 順序表操作

define max size 1000 include include typedef int datatype typedef struct seqlist seqlist void seqprint seqlist psl 列印順序表 void seqlistinit seqlist psl ...

資料結構 簡單的順序表結構

編寫乙個程式exp2 1.cpp,實現順序表的各種運算 假設順序表的元素型別為char 並在此基礎上完成如下功能 1 初始化順序表l 2 採用尾插法依次插入元素a,b,c,d,e 3 輸出順序表l 4 輸出順序表l的長度 5 判斷順序表l是否為空 6 輸出順序表l的第3個元素 7 輸出元素a的位置 ...

資料結構(C )簡單順序表

資料結構學過了模板之後就開始了線性表的學習,線性表又分為簡單的順序儲存和鏈式儲存兩種方式。兩種方法各有長短,根據不同的實際情況定義使用。是零個或多個具有相同型別的資料元素的有限序列。通常的線性表中有兩個元素,乙個是儲存的資料,另乙個是表資料的長度。線性表的順序儲存,是指用一維位址連續的儲存單元依次儲...