線形テーブルLがインクリメントされていることが知られている.線形テーブルLの秩序性を維持するために、XをLの適切な位置に挿入するアルゴリズムを書きます.
線形テーブルLがインクリメントされていることが知られている.線形テーブルLの秩序性を維持するために、XをLの適切な位置に挿入するアルゴリズムを書いてみます.
//
// Created by wp on 2020/3/5.
// L 。 , X L , L 。
//
#include
#include
using namespace std;
#define MAX 1000
class List_wp {
public:
List_wp() {
//
index = 0;
list_array[index] = 0;
}
void append(const int &a) {
//
list_array[index] = a;
index++;
}
void Appropriate_insertion(const int &x) {
// X L
for (int i = 0; i < index; i++) {
if (x <= list_array[i]) {
yidong(i, x);
return;
}
}
}
void list_sort() {
//
for (int i = 0; i < index - 2; i++) {
for (int j = 0; j < index - 1 - i; j++) {
if (list_array[j] > list_array[j + 1]) {
int temp = list_array[j];
list_array[j] = list_array[j + 1];
list_array[j + 1] = temp;
}
}
}
};
int len() {
//
return index;
}
void print_list() {
//
if (index == -1) {
cout << "list is empty" << endl;
return;
}
for (int i = 0; i < index; i++) {
if (index != 0) {
cout << list_array[i];
}
if (i == index - 1) {
cout << endl;
} else {
cout << " , ";
}
}
}
private:
int index;//index
int list_array[MAX];//
void yidong(int m_index, int m_num) {
index++;
for (int i = index; i > m_index; i--) {
list_array[i] = list_array[i - 1];
}
list_array[m_index] = m_num;
}
};
int main() {
List_wp L;
L.append(1);// append
L.append(6);
L.append(4);
L.append(2);
L.append(1);
L.list_sort();// L
L.print_list();//
cout << L.len() << endl;//
cout << "---------" << endl;
L.Appropriate_insertion(3);// X L
L.print_list();//
cout << L.len() << endl;//
return 0;
}