#1547. 排序基础

排序基础

1、用冒泡排序算法对数列 5, 6, 2, 4, 3, 1, 7 进行从小到大排序,每一趟都把未排序元素中最大的放到未排序位置的最后面,第二趟排序后的状态为( )。 {{ select(1) }}

  • 5 2 4 3 1 6 7
  • 2 3 1 4 5 6 7
  • 2 1 3 4 5 6 7
  • 2 4 3 1 5 6 7

2、要输入一组 0~100 之间的整数,要对这些数进行桶排序。以下是桶排序的代码,在下划线处应填写的代码是( )。

int n, x, b[101] = {};
cin >> n;
for (int i = 1; i <= n; i++)
{
    cin >> x;
    _______________
}
for (int i = 0; i < 101; i++)
{
    for (int j = 1; j <= b[i]; j++)
    {
        cout << i << ' ';
    }
}

{{ select(2) }}

  • b[i] = x++;
  • b[i]++;
  • b[x]++;
  • b[x] = i;

3、以下是对数组 a 进行冒泡排序的代码,在下划线处应填写的语句是( )。

int a[10] = {10, 3, 2, 6, 5, 4, 9, 8, 7, 1};
int n =10;
_________________________________
{
    for (int j = 0; j < i; j++)
    {
        if (a[j] > a[j + 1])
        {
            int t = a[j];
            a[j] = a[j + 1];
            a[j + 1] = t;
        }
    }
}

{{ select(3) }}

  • for (int i = n - 1; i > 0; i--)
  • for (int i = 1; i < n; i++)
  • for (int i = n - 1; i > 1; i--)
  • for (int i = 1; i <= n; i++)

4、用冒泡排序算法对数列 2,1,6,3,4,5 进行从大到小排序,每一趟排序都把未排序元素中最小的数放到未排序位置的最后面,第二趟排序后的状态为( )。 {{ select(4) }}

  • 2 6 3 4 5 1
  • 6 5 4 3 2 1
  • 6 3 4 5 2 1
  • 6 4 5 3 2 1

5、使用排序库函数 sort 对数组 int a[10]的后 6 个元素进行从小到大的排序,以下用法正确的是( )。 {{ select(5) }}

  • sort(a[0], a[6]);
  • sort(a + 4, a + 9);
  • sort(a[4], a[9]);
  • sort(a + 4, a + 10);

6、输入一组(不超过 100 个)在 -50~150 之间的整数,对这组数进行排序。以下是桶排序算法的代码,在(1)、(2)下划线处应填写的代码是( )。

int n, x, b[(1)________________] = {};
cin >> n;
for (int i = 1; i <= n; i++)
{
    cin >> x;b[x + 50]++;
}
(2)_________________________
{
    for (int j = 1; j <= b[i]; j++)
    {
        cout << i - 50 << ' ';
    }
}

{{ select(6) }}

  • (1): 101; (2): for (int i = 0; i <= 100; i++);
  • (1): 201; (2): for (int i = 0; i <= 100; i++);
  • (1): 101; (2): for (int i = 0; i <= 200; i++);
  • (1): 201; (2): for (int i = 0; i <= 200; i++);