我有两个阵列,一个是持有学生的身份证号码,第二个是持有等级的... 我想以排序的方式在等级的数组中插入一个等级..其中我假设之前的数组已被排序。 我的问题是我想保持学生的数组也按照等级的数组进行排序。
成绩数组= [100 90 80]
students_id array = [11 22 33]
我希望插入95级,ID为44,然后我会:
成绩数组= [100 95 90 80]
students_id array = [11 44 22 33]
// 我怎么能这样做?我认为我可能会将等级插入数组,然后对第一个数组使用冒泡排序,但我也不知道如何保持另一个排序:\
void insertGrade(int* grades, int* students_id, int id , int grade){
}
void bubble_sort(int* array, int n)
{
int c, d, t;
for (c = 0 ; c < ( n - 1 ); c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1])
{
/* Swapping */
t = array[d];
array[d] = array[d+1];
array[d+1] = t;
}
}
}
}
答案 0 :(得分:0)
将第二个数组传递给函数。在交换array1中的项目的同时交换array2中的项目。
void bubble_sort(int* array, int* array2, int n)
{
int c, d, t;
for (c = 0 ; c < ( n - 1 ); c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1])
{
/* Swapping */
t = array[d];
array[d] = array[d+1];
array[d+1] = t;
t = array2[d];
array2[d] = array2[d+1];
array2[d+1] = t;
}
}
}
}