将给定的两个数组合并为一个新的数组,并将新数组进行降序排序。(C++)(字符串和数组的转化)

将给定的两个数组合并为一个新的数组,并将新数组进行降序排序。(C++)(字符串和数组的转化)_第1张图片

#include 
#include 
#include 
#include    //
using namespace std;


//字符串转化为数组
vector<int> stringtointArray(string str) {
    vector<int> intArray;//声明一个数组
    stringstream ss(str); 
    string buf;

    while(getline(ss, buf, ',')) {  //以逗号为分隔,一次读一个字符,buf每次被重写,存储最新的 
        int num = stoi(buf);  //将字符转换为整数
        intArray.push_back(num);
    }
    return intArray; //返回数组

}

//合并数组并降序排序
vector<int> mergeAndSort(vector<int> arr1, vector<int> arr2){
    vector<int> mergedAarry;
    for(auto num : arr1) {
        mergedAarry.push_back(num);
    }
    for(auto num : arr2) {
        mergedAarry.push_back(num);
    }
    sort(mergedAarry.begin(), mergedAarry.end(), [](int a, int b){  //sort默认从小到大排 
        return a > b;
    });
    return mergedAarry;
}


//int数组转化为字符串
string intArrayToString(vector<int> intArray) {
    stringstream ss;				//创建一个空的 std::stringstream 对象 ss,用于构建输出字符串 
    for(auto num : intArray) {
        ss<<num<<",";				//将每个整数元素写入 ss 中,并以逗号作为分隔符
    }
        string str = ss.str();    //将 ss 转换为字符串,使用 ss.str() 函数获取 ss 中的字符串表示

		//如果整数数组为 [1, 2, 3],则函数将返回字符串 "1,2,3"。 
        if(!str.empty()){
            str.pop_back();		 //检查字符串是否为空,如果不为空,则删除最后一个字符(逗号) 
        }

        return str;
}



int main() {
    string str1, str2;              
    getline(cin, str1);
    getline(cin, str2);
    vector<int> arr1 = stringtointArray(str1);
    vector<int> arr2 = stringtointArray(str2);

    vector<int> mergedSortedArray = mergeAndSort(arr1, arr2);
    cout << intArrayToString(mergedSortedArray)<<endl;
    return 0;
    
}
// 64 位输出请用 printf("%lld")

stringstream:基于字符串的流,用于处理字符串的输入和输出操作。

将给定的两个数组合并为一个新的数组,并将新数组进行降序排序。(C++)(字符串和数组的转化)_第2张图片

#include 
#include 

int main() {
    std::string str = "Hello, World!";
    std::stringstream ss(str);  // 创建一个 stringstream 对象,并使用 str 初始化

    std::string word;
    while (ss >> word) {  // 从 stringstream 中提取单词
        std::cout << word << std::endl;
    }

    return 0;
}


	

将给定的两个数组合并为一个新的数组,并将新数组进行降序排序。(C++)(字符串和数组的转化)_第3张图片

你可能感兴趣的:(C++,c++,开发语言)