zoukankan      html  css  js  c++  java
  • *** 自写代码:字符串的排序及交换

    将字符串分成两部分,前半部分按ASCII码升序排序,后半部分不变(如果字符串是奇数个,则中间的字符不变)再将前后两部分交换,最后将该字符串输出。

    #include <iostream>
    #include <string.h>
    #include <list>
    using namespace std;
    // use list to sort
    char * mySort1 (char * src)
    {
        if (src == NULL) return NULL;
        char * p = src;
        int len = strlen(src);
        list<char> myList;
        for (int i=0; i<len/2; i++)
            myList.push_back(src[i]);
        myList.sort();
        if (len%2) 
        {
            myList.push_front(src[len/2]);  
            for (int i=len-1; i>=len/2+1; i--)
                myList.push_front(src[i]);
        }
        else
        {
            for (int i=len-1; i>=len/2; i--)
                myList.push_front(src[i]);   
        }
        int i = 0;
        for (list<char>::iterator it=myList.begin(); it!=myList.end(); it++, i++)
        {
            src[i] = *it;
        }
        return src;
    }
    int main()
    {
        char a[] = "428793615";
        cout << mySort1 (a);
        return 0;
    }
  • 相关阅读:
    Python对象
    python 迭代器和生成器
    python中logging日志模块详解
    学习中遇到的一些问题(杂谈)
    如何在github上搜索项目
    python闭包与装饰器
    python面试题
    selenium
    python导入自定义包
    About Me、
  • 原文地址:https://www.cnblogs.com/superrunner/p/10165194.html
Copyright © 2011-2022 走看看