如何将两个数组排在一起,其中第一个使用冒泡排序进行排序?

问题描述 投票:0回答:1

我有两个阵列,一个拿着学生的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;
      }
    }
  }
}
c arrays sorting
1个回答
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;      
      }
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.