#pragma once
#include
#define max_size 10
typedef
int datatype;
typedef
struct sequlist
sequlist;
sequlist s;
void sequlistinit(sequlist *ps);//順序表的初始化
void sequlistpush(sequlist *ps, datatype data);//向順序表中新增資料
void sequlistpushback(sequlist *ps, datatype data);//順序表的尾插
void sequlistpopback(sequlist *ps); //順序表的尾刪
void sequlistpushfront(sequlist *ps, datatype data);//順序表的頭插
void sequlistpopfront(sequlist *ps); //順序表的頭刪
void sequlistinsert(sequlist *ps, int pop, datatype data);//順序表pop的位置插入元素data
void sequlisterase(sequlist *ps, int pop);//刪除順序表pop位置的元素
void remove(sequlist *ps, datatype data);//移除順序表中第乙個為data的元素
void removeall(sequlist *ps, datatype data);//移除順序表中所有值為data的元素
int sequlistfind(sequlist *ps, datatype data);//在順序表中查詢值為data的元素,找到則返回該元素在順序表中的位置,否則返回-1;
int sequlistsize(sequlist *ps); //獲取順序表中元素的個數
void printsequlist(sequlist *ps); //列印順序表
void bubble_sort(sequlist *ps);//使用氣泡排序對順序表中的元素進行排序
void sequlistinit(sequlist *ps)//結構體的初始化
ps->_size = 0;
}void sequlistpush(sequlist *ps, datatype data)//向順序表中新增資料
ps->_array[ps->_size] = data;
ps->_size++;
}void sequlistpushback(sequlist *ps, datatype data)//順序表的尾插
if (10 == ps->_size)
ps->_array[ps->_size] = data;
ps->_size++;
}void sequlistpopback(sequlist *ps) //順序表的尾刪
ps->_size--;
}void sequlistpushfront(sequlist *ps, datatype data)//順序表的頭插
if (10 == ps->_size)
for (i = ps->_size; i>0; i--)
}void sequlistpopfront(sequlist *ps) //順序表的頭刪
for (i = 0; i_size - 1; i++)
}void sequlistinsert(sequlist *ps, int pop, datatype data)//順序表pop的位置插入元素data
if (10 == ps->_size)
if (pop<0 || pop>10)
for (i = ps->_size; i>pop; i--)
}void sequlisterase(sequlist *ps, int pop)//刪除順序表pop位置的元素
if (pop<0 || pop>10)
for (i = pop; i < ps->_size; i++)
ps->_size--;
}void remove(sequlist *ps, datatype data)//移除順序表中第乙個為data的元素
for (i = 0; i_size; i++)}}
}void removeall(sequlist *ps, datatype data) //移除順序表中所有值為data的元素
for (i = 0; i_size; i++)
else
}ps->_size = ps->_size - count;
}int sequlistfind(sequlist *ps, datatype data)//在順序表中查詢值為data的元素,找到則返回該元素在順序表中的位置,否則返回-1;二分查詢
while (left <= mid)
else
if (data>ps->_array[mid])
else
if(data_array[mid])
}return -1;
}int sequlistsize(sequlist *ps) //獲取順序表中元素的個數
if (0 == ps->_size)
printf("順序表元素個數為:%d\n", ps->_size);
}void printsequlist(sequlist *ps) //列印順序表
if (10 == ps->_size)
if (0 == ps->_size)
for (i = 0; i_size; i++)
}void bubble_sort(sequlist *ps)//使用氣泡排序對順序表中的元素進行排序
for (i = 0; i_size - 1; i++)}}
}
測試**:
#define _crt_secure_no_warnings 1
#include"sequlist.h"
#include
.h>
int main()
靜態順序表
在書上看到的,學習學習。題目 建立乙個靜態的順序表存放整數,大小為10,完成以下操作。1 輸入6個整數,列印出順序表中的內容,並顯示表中的剩餘的空間個數。2 在順序表中的第3個位置插入元素0,列印出順序表中的內容,並顯示表中剩餘的空間個數。3 再試圖插入表中第11個位置整數0,程式提示超出範圍。4 ...
靜態順序表
最近在學習資料結構的單鏈表部分,於是寫了乙個靜態順序表做練習。實現了對其初始化 新增 更改 刪除等功能的實現。seqlist.h pragma once define seq list ifdef seq list include include include define maxsize 100...
靜態順序表
順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。include stdio.h include stdlib.h elemtyp...