初始化
尾插 尾刪
頭插 頭刪
讀任意位置元素
修改任意位置元素
查詢指定元素值的下標
在任意位置插入元素
——————————————————————————————
seqlist.h
#pragma once //防止標頭檔案重複包含
#include
#define seqlistmaxnum 1000 //陣列最大元素個數
typedef char seqlisttype; //重定義型別
typedef struct seqlist
seqlist;
void seqlistinit(seqlist* seq); //初始化順序表
void seqlistprint(seqlist* seq, char* ch); //列印順序表
void seqlistpushend(seqlist *seq, seqlisttype value);
void seqlistpopend(seqlist *seq); //尾部刪除順序表
void seqlistpushstart(seqlist *seq, seqlisttype value); //頭部插入順序表
void seqlistpopstart(seqlist *seq); //頭部刪除順序表
void seqlistpushposition(seqlist* seq, size_t pos, seqlisttype value); //在下標為pos處插入元素
void seqlistpopposition(seqlist* seq, size_t pos); //刪除下標為pos的元素
void seqlistsetlist(seqlist* seq, size_t pos, seqlisttype value); //修改下標為pos的元素
seqlisttype seqlistgetlist(seqlist* seq, size_t pos); //讀下標為pos的元素
size_t seqlistgetpos(seqlist* seq, seqlisttype value); //查詢value元素值的下標
seqlist.c
#include "seqlist.h"
#include
#include
//初始化順序表
void seqlistinit(seqlist* seq)
//列印順序表
void seqlistprint(seqlist* seq, char* ch)
printf("size = %ld\n\n", seq->size);
}//尾部插入元素
void seqlistpushend(seqlist *seq, seqlisttype value)
//尾部刪除元素
void seqlistpopend(seqlist *seq)
else
}//頭部插入元素
void seqlistpushstart(seqlist *seq, seqlisttype value)
seq->seqlistarr[0] = value; //頭部插入資料
++seq->size;
}}//頭部刪除元素
void seqlistpopstart(seqlist *seq)
else
--seq->size;
}}//在任意位置插入元素
void seqlistpushposition(seqlist* seq, size_t pos, seqlisttype value)
else
seq->seqlistarr[pos] = value;
seq->size++;
}}//刪除下標為pos的元素
void seqlistpopposition(seqlist* seq, size_t pos)
else
if (pos >= seq->size)
else
seq->size--;
}}//修改下標為pos的元素
void seqlistsetlist(seqlist* seq, size_t pos, seqlisttype value)
else
}//讀下標為pos的元素
seqlisttype seqlistgetlist(seqlist* seq, size_t pos)
else
}//查詢value元素值的下標
size_t seqlistgetpos(seqlist* seq, seqlisttype value)
}return -1;
}
test.c
//測試**
#include "seqlist.h"
#include
#include
//測試初始化順序表
void testseqlistinit()
//測試尾部插入元素
void testseqlistpushend()
//測試尾部刪除元素
void testseqlistpopend()
void testseqlistpushstart()
void testseqlistpopstart()
//測試在下標為pos處插入元素
void testseqlistpushposition()
//測試刪除下標為pos的元素
void testseqlistpopposition()
//測試修改下標為pos的元素
void testseqlistsetlist()
//測試讀取下標為pos的元素
void testseqlistgetlist()
//測試查詢value元素值的下標
順序表的增刪查改
今天來實現簡單的順序表地增刪查詢操作 1.在開始敲 前,首先要明確自己要幹嘛。2.然後開始構思自己所要實現什麼樣的功能。3.之後將之前構思的功能弄好框架。4.最後再將每個框架的內容補充上。標頭檔案 include pragma once include typedef int sldatatype ...
順序表的增刪查改
順序表實現 順序表是用一段實體地址連續的儲存單元依次儲存的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。靜態順序表 使用定長陣列儲存 動態順序表 使用動態開闢的陣列儲存 靜態順序表適用於確定知道需要存多少資料的場景。靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用。首先...
線性表 順序表的增 刪 查
include define max size 100 順序表的結構體定義 typedef struct sequence listsequence list 考試時常用 int a max size int n 不用結構體 找到遞增有序的sl中第乙個比x大的元素的下標 因為不改變sl內容所以是值傳...