21xrx.com
2024-12-22 20:59:46 Sunday
登录
文章检索 我的文章 写文章
C++使用冒泡排序算法对学生姓名数组进行递增排序
2023-07-06 11:34:40 深夜i     --     --
C++ 冒泡排序 学生姓名数组 递增排序

C++语言是一种非常流行的计算机编程语言,用于编写各种应用程序和软件。而冒泡排序算法则是一种常见的排序算法,可以对一个数组进行排序。在本文中,我们将使用C++语言中的冒泡排序算法,对一个学生姓名数组进行递增排序。

首先,我们定义一个存储学生姓名的字符型数组,并从用户输入中获取学生的姓名和数量。然后,我们通过嵌套的循环,用冒泡排序算法进行排序。外层循环控制排序的轮数(n-1轮),内层循环控制每一轮的比较次数(n-1-i个元素被比较)。

具体地,我们将当前元素与下一个元素进行比较。如果当前元素大于下一个元素,则交换这两个元素的位置。在一轮比较结束后,最大的元素将移动到数组的最后一位。接着,我们将下一轮的比较次数减少1,以避免重复比较数组中已经排好序的元素。

最后,我们通过循环输出排好序的学生姓名数组。完整的C++代码如下:

#include

using namespace std;

int main()

{

  int n;

  cout << "请输入学生数量:";

  cin >> n;

  char name[n][20]; //定义字符型二维数组,存储学生姓名

  cout << "请输入学生姓名:";

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

    cin >> name[i];

  }

  //冒泡排序算法

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

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

      if (strcmp(name[j], name[j+1]) > 0) {

        char temp[20];

        strcpy(temp, name[j]);

        strcpy(name[j], name[j+1]);

        strcpy(name[j+1], temp);

      }

    }

  }

  //输出排好序的学生姓名数组

  cout << "\n排好序的姓名为:";

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

    cout << name[i] << " ";

  }

  return 0;

}

通过上述代码,我们就成功地使用C++的冒泡排序算法,对一个学生姓名数组进行递增排序。在实际应用中,可以通过类似的方式,对更多类型的数据进行排序,以满足不同的需求。

  
  

评论区

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