21xrx.com
2024-09-20 00:04:25 Friday
登录
文章检索 我的文章 写文章
C++字符串数组的排序
2023-06-27 18:17:08 深夜i     --     --
C++ 字符串数组 排序

C++是一种功能强大的编程语言,它提供了许多用于处理字符串的函数和方法。在许多情况下,需要对字符串数组进行排序。这是在C++中排序字符串数组的一些方法。

一种常用的方法是使用内置的sort()函数。此函数可以用于排序包含字符串的数组。例如,假设有一个包含几个字符串的数组,可以使用以下代码进行排序:


#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

  string arr[] = "grape";

  int n = sizeof(arr)/sizeof(arr[0]);

  sort(arr, arr+n);

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

  {

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

  }

  return 0;

}

此代码使用sort()函数对字符串数组进行排序。该函数需要两个参数 - 要排序的数组的开始和结束位置。这里我们传递了arr和arr+n作为参数,其中n是数组的大小。然后,将字符串数组按字典顺序排序,并使用循环打印已排序的结果。

另一种方法是使用比较函数。这个函数定义了字符串之间的比较方式。例如,先将字符串按长度排序,然后再按字典顺序排序。以下是一个使用比较函数的示例:


#include <iostream>

#include <algorithm>

using namespace std;

bool compare(string a, string b)

{

  if(a.size() != b.size())

    return a.size() < b.size();

  else

    return a < b;

}

int main()

{

  string arr[] = "grape";

  int n = sizeof(arr)/sizeof(arr[0]);

  sort(arr, arr+n, compare);

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

  {

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

  }

  return 0;

}

该代码使用自定义的compare()函数对字符串进行排序。该函数根据两个字符串的长度和字典顺序返回一个布尔值。然后使用sort()函数和compare()函数对字符串进行排序,并使用循环打印已排序的结果。

总之,在C++中,有许多方法可以排序字符串数组。无论选择哪种方法,都可以从中学到一些有用的编程技巧。

  
  

评论区

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