靜態順序表.h
#ifndef _shunxubiao_h_
#define _shunxubiao_h_
#define max_size 10
typedef int datatype;
//靜態順序表
typedef struct seqlist
seqlist, *pseqlist;
void initseqlist(pseqlist pseq);//初始化順序表
void seqlistpushback(pseqlist pseq, datatype data);//向順序表中最後乙個元素後面插入新元素(尾插)
void seqlistpopback(pseqlist pseq);//尾刪
void seqlistpushfront(pseqlist pseq, datatype data);//頭插
void seqlistpopfront(pseqlist pseq);//頭刪
void seqlistinsert(pseqlist pseq, int pos, datatype data);//在順序表的pos位置插入元素data
void seqlisterase(pseqlist pseq, int pos);//刪除順序表pos位置的元素
#endif
text.c
#include "靜態順序表.h"
#include //初始化順序表
void initseqlist(pseqlist pseq)
//尾插
void seqlistpushback(pseqlist pseq, datatype data)
pseq->array[pseq->size++] = data;
}//尾刪
int empty(pseqlist pseq)
void seqlistpopback(pseqlist pseq)
pseq->size--;
}//頭插
//步驟:1.引數檢測 2.判滿 3.搬移元素
void seqlistpushfront(pseqlist pseq, datatype data)
for (i = pseq->size; i > 0; --i)
pseq->array[0] = data;
pseq->size++;
}//頭刪
//步驟:1.引數檢測 2.判空 3.往前搬移元素
void seqlistpopfront(pseqlist pseq)
for (i = 0; i < pseq->size - 1; i++)
pseq->size--;
}//在順序表的pos位置插入元素data
void seqlistinsert(pseqlist pseq, int pos, datatype data)
//檢測pos位置是否合法 pos[0,pseq->size]
if (pos<0 || pos>pseq->size)
//搬移元素
for (i = pseq->size; i >= pos; i--)
pseq->array[pos] = data;
pseq->size++;
}//刪除順序表pos位置的元素
void seqlisterase(pseqlist pseq, int pos)
if (pos < 0 || pos >= pseq->size)
for (i = pos; i < pseq->size - 1; i++)
pseq->size--;
}void printseqlist(pseqlist pseq)
printf("\n");
}int main()
順序容器的一些操作
新增元素 1.push back 向尾部新增乙個元素,除了array與forward list不支援外,其餘順序容器皆支援 形式 c.push back t 注 把乙個物件新增到容器中,實際上放入的是物件的拷貝值而不是物件本身,隨後對容器中元素的任何改變都不會影響原始物件。2.push front ...
靜態順序表操作
靜態順序表操作 include define maxsize 10 定義 typedef structsqlist void init sqlist 初始化 void insert sqlist int int 插入操作 int deletenum sqlist int int 刪除操作 int s...
靜態順序表順序表的基本操作
一般採用陣列表示順序表,陣列有靜態陣列和動態陣列之分,在此我們採用靜態陣列表示靜態順序表,如圖為線性表的結構 下面實現順序表的基本操作 初始化 銷毀 尾插 頭插 尾刪 頭刪 根據指定元素刪除 指定位置插入和刪除 查詢 靜態順序表的結構定義 define maxsize 100 typedef int...