我有两个阵列,一个拿着学生的id号码,第二个拿着那里等级..我想以排序的方式在等级的数组中插入一个等级..我假设之前的数组被排序。我的问题是我想保持学生的数组也按照等级数组进行排序。
等级数组= [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;
}
}
}
}
将第二个数组传递给函数。在交换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;
}
}
}
}