21xrx.com
2024-06-03 01:02:22 Monday
登录
文章检索 我的文章 写文章
C++ string中数字的降序排列
2023-07-12 09:44:52 深夜i     --     --
C++ string 数字 降序排列

C++中的字符串是一种非常强大的数据类型,可以存储和处理各种类型的数据。对于字符串中的数字,我们可以将它们按照降序排列,方便我们进行一些数据分析和处理。

一般情况下,我们可以使用STL(标准模板库)中的sort函数来对字符串中的数字进行降序排列。例如:


string str = "92,3,45,6,21";

vector<int> nums;

string temp="";

for(int i=0; i<str.size(); i++){

  if(str[i]!=','){

    temp += str[i];

  }else{

    nums.push_back(stoi(temp));

    temp="";

  }

}

nums.push_back(stoi(temp));

sort(nums.rbegin(), nums.rend());

代码中,我们首先将字符串中的数字按照逗号分隔,存储到一个vector中。然后使用sort函数对vector中的数字进行降序排列,最后再将排序后的数字以字符串的形式输出即可。

除了使用STL中的sort函数,我们也可以手动实现降序排序算法。例如,下面是一个简单的冒泡排序算法:


string str = "92,3,45,6,21";

vector<int> nums;

string temp="";

for(int i=0; i<str.size(); i++){

  if(str[i]!=','){

    temp += str[i];

  }else{

    nums.push_back(stoi(temp));

    temp="";

  }

}

nums.push_back(stoi(temp));

for(int i=0; i<nums.size(); i++){

  for(int j=i+1; j<nums.size(); j++){

    if(nums[i]<nums[j]){

      swap(nums[i], nums[j]);

    }

  }

}

这里我们利用两个for循环对vector中的数字进行比较和交换,实现了对数字的降序排序。

无论是使用STL中的sort函数还是手动实现排序算法,都可以完成对字符串中数字的降序排列。而对于其他类型的数据,我们也可以将其转换为字符串后进行排序,这将极大地便利我们进行数据分析和处理。

  
  

评论区

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