顺序存储结构
#include
#include
#define MaxSize 10
using namespace std;
typedef struct SeqList{
int data[10];
int length = 0;
}SeqList;
void init(SeqList &L){
L.length = 0;
}
bool insert(SeqList &L, int pos, int value){
if (L.length>MaxSize) {
return false;
}
if (pos<1||pos>L.length+1) {
return false;
}
for (int i = L.length; i>=pos; i--) {
L.data[i] = L.data[i-1];
}
L.data[pos-1] = value;
L.length++;
return true;
}
// 删除最小值,并用最后一个元素替换
bool get_min_value(SeqList &L, int &min){
min = L.data[0];
int pos = 0;
for (int i = 1; i=0; i--) {
insert(List, pos, L.data[i]);
pos++;
}
L.length = 0;
for (int i = 0; i max) {
return false;
}
int j = 0;
for (int i = 0; imax) {
L.data[j] = L.data[i];
j++;
}
}
L.length = j;
return true;
}
// 有序表
bool delete_range2(SeqList &L, int min, int max){
if (L.length==0) {
return false;
}
if (min > max) {
return false;
}
int i = 0, j = 0;
for (i = 0; i max) {
return false;
}
int k = 0;
for (int i = 0; iList2.data[j]) {
List.data[k] = List2.data[j];
j++;
}else{
List.data[k] = List1.data[i];
i++;
}
k++;
}
//还有一个顺序表没有比较完,直接追尾
while(i