顺序表1~5
2.2.3.01
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//线性表的顺序表示
#define Mixsize 50
struct Sqlist {
int a[Mixsize] = { 2,3,4,6,7,9,8,1};
int length=8;
};
void initlist(Sqlist& L) {
L.length = 0;
}
//综合1
bool listdelete(Sqlist& L,int &e,int &flag) {
if (L.length == 0) {
return false;
}
int temp = L.a[0];
//int flag = 0;
for (int j = 1; j < L.length; j++) {
if (L.a[j] < temp) {
temp = L.a[j];
flag = j;
}
}
e = L.a[flag];
L.a[flag] = L.a[L.length-1];
L.length--;
flag++;
return true;
}
int main() {
Sqlist L;
//initlist(L);
int e = 0;
int flag = 0;
listdelete(L, e,flag);
cout << "删除元素值为:" << e << endl;
cout <<"删除元素位置为:" << flag << endl;
for (int j = 0; j < L.length; j++) {
cout << L.a[j] << " ";
}
return 0;
}
2.2.3.02
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//线性表的顺序表示
#define Mixsize 50
struct Sqlist {
int a[Mixsize] = { 2,3,4,6,7,9,8};
int length = 7;
};
//综合2
void reverse(Sqlist& L) {
for (int j = 0; j < L.length/2; j++) {
int temp = L.a[j];
L.a[j] = L.a[L.length - 1-j];
L.a[L.length - j-1] = temp;
}
}
int main() {
Sqlist L;
reverse(L);
for (int i = 0; i < L.length; i++) {
cout << L.a[i] << " ";
}
return 0;
}
2.2.3.03
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//线性表的顺序表示
#define Mixsize 50
struct Sqlist {
int a[Mixsize] = { 2,3,2,6,7,9,8 };
int length = 7;
};
//综合3
void del(Sqlist& L,int e) {
int k = 0;
for (int j = 0; j < L.length; j++) {
if (L.a[j] == e) {
k++;
}
else {
L.a[j - k] = L.a[j];
}
}
L.length = L.length - k;
}
int main() {
Sqlist L;
del(L, 2);
for (int i = 0; i < L.length; i++) {
cout << L.a[i] << " ";
}
return 0;
}
2.2.3.04
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//线性表的顺序表示
#define Mixsize 50
struct Sqlist {
int a[Mixsize] = { 2,3,2,6,7,9,8 };
int length = 7;
};
//综合4
bool del(Sqlist& L, int e1, int e2) {
if (L.length == 0)return false;
if (e2 <= e1)return false;
int k = 0;
for (int j = 0; j < L.length; j++) {
if (L.a[j] >= e1 && L.a[j] <= e2) {
k++;
}
else {
L.a[j - k] = L.a[j];
}
}
L.length = L.length - k;
return true;
}
int main() {
Sqlist L;
int s;
int t;
cin >> s >>t ;
del(L, s, t);
for (int i = 0; i < L.length; i++) {
cout << L.a[i] << " ";
}
return 0;
}
2.2.3.05
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//线性表的顺序表示
#define Mixsize 50
struct Sqlist {
int a[Mixsize] = { 1,1,2,2,3,4,4 };
int length = 7;
};
//综合5
bool del(Sqlist& L) {
int k = 0;
for (int j = 0; j < L.length; j++) {
for (int i = 1 + j; i < L.length; i++) {
if (L.a[j] == L.a[i]) {
k++;
}
else {
L.a[i - k] = L.a[i];
}
}
L.length = L.length - k;
k = 0;
}
return true;
}
int main() {
Sqlist L;
del(L);
for (int i = 0; i < L.length; i++) {
cout << L.a[i] << " ";
}
return 0;
}