21xrx.com
2024-12-27 20:22:39 Friday
登录
文章检索 我的文章 写文章
C++二维数组的小到大排序
2023-07-11 12:54:20 深夜i     --     --
C++ 二维数组 排序 小到大

C++是一种通用目标编程语言,它对于数组的使用非常方便。在C++中,使用二维数组可以将数据存储在一个与其它数组类型类似但带有两个或多个维度的结构中。对于二维数组,我们可以使用排序算法对其进行排序。

实现二维数组排序的方法很多,其中最简单的方法是使用嵌套循环实现选择排序。这种方法可以很清晰地显示每一次比较和交换操作。选择排序是一种简单的排序算法,它通过多次遍历该列表来进行排序,在每次遍历中将最小的元素与列表的第一个元素交换位置。以下是实现二维数组排序的代码:


#include <iostream>

using namespace std;

void sortArray(int arr[][3], int n) {

  int minIdx, tmp;

  for (int i = 0; i < n; i++) {

    for (int j = 0; j < 3; j++) {

      minIdx = j;

      for (int k = j + 1; k < 3; k++) {

        if (arr[i][k] < arr[i][minIdx])

          minIdx = k;

        

      }

      if (minIdx != j) {

        tmp = arr[i][j];

        arr[i][j] = arr[i][minIdx];

        arr[i][minIdx] = tmp;

      }

    }

  }

}

int main() {

  int arr[3][3] = { 2, 3, 7};

  cout << "Original array: " << endl;

  for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

  sortArray(arr, 3);

  cout << "Sorted array: " << endl;

  for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

上述代码中,我们首先声明一个3X3的二维整数数组,并将其初始化为任意数值。然后,我们使用sortArray函数对数组进行排序。该函数使用嵌套循环遍历每一行中的每一个元素。对于每个元素,函数找到该行中的最小元素,并将其与该行中的第一个元素交换位置。在排序过程完成后,我们打印出原始数组和排序后的数组分别为:

Original array:

9 5 2

3 8 1

4 7 6

Sorted array:

2 5 9

1 3 8

4 6 7

从上述结果可以看出,我们使用选择排序算法对二维数组进行了排序,并成功地按照从小到大的顺序排列了每一行的元素。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复