Одна из функций, которые я выполняю, использует сортировку вставки для двумерного массива с 2 строками и 12 столбцами. Первая строка предназначена для идентификаторов студентов, поэтому всего 12 учащихся. Вторая строка имеет соответствующий GPA для каждого ученика. Я не уверен, как создать сортировку вставки для сортировки номеров GPA в порядке возрастания. Любая помощь была бы потрясающей!Использование функции сортировки вставки для двумерного массива в C++?
У меня это до сих пор.
void insertionSort(double avg[][COLS])
{
int current = 1;
int last = COLS - 1;
int temp;
int walker;
int row = 1;
while (current <= last)
{
temp = avg[row][current];
walker = current - 1;
while (walker >= 0
&& temp < avg[row][walker])
{
avg[row][walker+1] = avg[row][walker];
walker = walker - 1;
}
avg[row][walker+1] = temp;
current = current + 1;
}
что проблема сортировки вы сделали? это, кажется, правильный порядок вставки? – m7mdbadawy
Вы против идеи использовать ['std :: sort()'] (http://en.cppreference.com/w/cpp/algorithm/sort)? – YSC
Вопрос в том, почему это двумерный массив. Идентификатор студента является буквенно-цифровым, GPA - плавающей точкой. Кто придумал такую идею, чтобы сделать 2d-массив из двух разных типов? – PaulMcKenzie