В этой статье мы покажем, как производится сортировка в одномерном массиве. Прежде давайте найдём ответ на вопрос что такое массив. Массив — это набор данных, пронумерованный под одним типом. Посмотрим, как массивы отражаются в языке программирования C++, и какие действия можно провести над ними.
Объявление массива:
#include
using namespace std;
int main(){
long a [100], double b [100];
return 0;
}
Здесь мы объявили (вынесли) массив целого типа a и массив действительного типа b, и установили количество элементов равным 100. Каждый из этих массивов может обрабатывать 101 элемент, так как, индекс в языке программирования C++ начинается с 0 (нуля). Такое объявление массивов приводит к потере памяти, что означает, даже если пользователь не использует 101 элемент, программа выделяет 101 место для массива. Мы просим пользователя ввести необходимое измерение массива, чтобы мы могли решить эту проблему.
#include
using namespace std;
int main() {
long n;
cout<<" Enter the length of the array\n ";
cin >> n;
long a [n];double b [n];
cout<<«long long tip "<
cout<<"\ndouble tip "<
return 0;
}
Результат:
После того как пользователь даст значение переменного n, его значение определяет длину массива, который мы выносим. Значение элементов массива и их печатание:
#include
using namespace std;
int main() {
long n, i; cin >> n; long a [n];
for (i = 1; i <= n; i + +)
cin >> a [i];
for (i = 1; i <= n; i + +)
cout << a [i] << " ";
return 0;
В начале статьи мы говорили, что индекс массива начинается с 0 (нуля), но здесь мы начали давать значение первому проиндексированному элементу массива, так как для сортировки нам нужен элемент нулевого индекса массива. Теперь мы научимся сортировать элемент массива.
#include
#include
using namespace std; int main() {
long n, i, j;
cout<<«Enter the length of the array\n»;
cin >> n; long a [n];
for (i = 1; i <= n; i ++) {
cin >> a [i];
}
for (i = 1; i < n; i ++) {
for (j = i + 1; j <= n; j++) {
if (a [i] < a [j]) { a [0] = a [i]; a [i] = a [j]; a [j] = a [0];}
}
}
cout<<«sort array elements\n»;
for (i = 1; i <= n; i++)
cout << a [i] << " ";
return 0;
}
Результат:
В этой программе введенные пользователем элементы массива сортируются в порядке убывания. Мы отсортировали массив, используя элемент нулевого индекса в качестве пустого сосуда. Если вы хотите отсортировать массив в порядке возрастания, вам просто нужно изменить параметры For для печати, т. е. for(i = n; i >= 1; i--). В этом, элементы массива печатаются в порядке возрастания. Элементы массива в порядке возрастания можно сортировать, с помощью того метода, в котором создан метод Sort (), в языке программирования C++ для сортировки элементов массива в библиотеке <алгоритм>.
#include
#include
using namespace std; int main() {
long n, i, j;
cout<<«Enter the length of the array\n»;
cin >> n;
long a [n];
for (i = 0; i < n; i++)
cin >> a [i]; sort(a,a+n);
cout<<«sort array elements\n»;
for (i = 0; i < n; i++)
cout << a [i] << " ";
return 0; }
Результат:
Массив с лёгкостью можно отсортировать в программе с помощью метода Sort (первичный индекс, последний индекс). После сортировки мы можем спокойно напечатать его с помощью метода Sort(). В таком порядке можно сортировать одномерный массив на языке программирования C++.