Предмет: Информатика,
автор: Трафальгар
Помогите реализовать сортировку подсчетом в С++ с объяснениями\комментариями
Ответы
Автор ответа:
1
#include <iostream>
#include <vector>
using namespace std; //теперь нам не придется страдать с std::
int main(){
int n; cin>>n; //ввод кол-ва сортируемых элементов
vector <int> a(1e9,0); //создание вектора для хранения ответа. пока он заполнен 0. можно использовать массив
for (int i=0; i<n; ++i) { //запускаем цикл для ввода чисел
int input; cin>>input; //вводим сортируемое число
++a[input]; //считаем кол-во таких элементов во входном файле
}
for (int i=0; i<1e9; ++i) //цикл по всем элементам массива ответа
for (int j=0; j<a[i]; ++j) //цикл, который выводит данный элемент столько раз, сколько он встречается в массиве
cout<<i<<' ';
return 0; //завершение работы программы
}
Сортировка подсчетом заключается в том, что мы считаем, сколько раз данный элемент встречается в сортируеиом массиве и воводим его столько раз подряд на нужном месте, сколько он встречается в массиве.
Написанная мной программа сортирует элементы
общее кол-во которых не превосходит
Если нужно что-то еще – пиши. Буду обьяснять более подробно.
#include <vector>
using namespace std; //теперь нам не придется страдать с std::
int main(){
int n; cin>>n; //ввод кол-ва сортируемых элементов
vector <int> a(1e9,0); //создание вектора для хранения ответа. пока он заполнен 0. можно использовать массив
for (int i=0; i<n; ++i) { //запускаем цикл для ввода чисел
int input; cin>>input; //вводим сортируемое число
++a[input]; //считаем кол-во таких элементов во входном файле
}
for (int i=0; i<1e9; ++i) //цикл по всем элементам массива ответа
for (int j=0; j<a[i]; ++j) //цикл, который выводит данный элемент столько раз, сколько он встречается в массиве
cout<<i<<' ';
return 0; //завершение работы программы
}
Сортировка подсчетом заключается в том, что мы считаем, сколько раз данный элемент встречается в сортируеиом массиве и воводим его столько раз подряд на нужном месте, сколько он встречается в массиве.
Написанная мной программа сортирует элементы
общее кол-во которых не превосходит
Если нужно что-то еще – пиши. Буду обьяснять более подробно.
Трафальгар:
можете написать тесты для него?
Похожие вопросы
Предмет: Математика,
автор: golovcenkonatasa5
Предмет: История,
автор: mashloooll
Предмет: Геометрия,
автор: Daria574
Предмет: Математика,
автор: 77021747433
Предмет: Алгебра,
автор: пратик