gpt4 book ai didi

c++ - 在 C++ 中对二维数组使用插入排序函数?

转载 作者:行者123 更新时间:2023-11-28 05:53:31 26 4
gpt4 key购买 nike

我正在执行的其中一个函数对具有 2 行和 12 列的二维数组使用插入排序。第一行是学生证,所以一共有 12 个学生。第二行是每个学生对应的 GPA。我不确定如何想出一个插入排序来按升序对 GPA 数字进行排序。任何帮助都是极好的!

到目前为止我有这个。

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;
}

最佳答案

你的问题是 temp 变量被声明为一个 int 它应该是 double 你也应该交换 ids

void insertionSort(double avg[][COLS])
{
int current = 1;
int last = COLS - 1;
double temp;//this was an int
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];
avg[row-1][walker+1] = avg[row-1][walker];//swap the id of two students
walker = walker - 1;
}

avg[row][walker+1] = temp;
avg[row-1][walker+1] = temp;
current = current + 1;
}
}

关于c++ - 在 C++ 中对二维数组使用插入排序函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com