首页 > 其他分享 >字符串大小写规则排序

字符串大小写规则排序

时间:2022-08-17 18:45:53浏览次数:53  
标签:输出 排序 大小写 规则 字符串 include

输入BadbAbB,输出AaBBbbd。因为A的ascii码比a小,所以相等的时候,直接输出a<b。不相等的时候,如果一个是大写,一个是小写,就要转换之后再比较。

 

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <algorithm>
#include <unordered_map>
using namespace std;

bool is_lower(char c)
{
    return c >= 'a' && c <= 'z';
}

static bool cmp(char& a, char& b)
{
    //保持a是小的,b是大的
    //考虑两种相同值
    if (a == b)
    {
        return a < b;
    }
    else if (abs(a - b) == 32)
    {
        //A的ascii码比较小,所以要放左边
        return a < b;
    }
    //考虑不同值的时候
    else
    {
        if (is_lower(a) && is_lower(b)) return a < b;
        else if (is_lower(a))
        {
            //b是大写
            char temp = b + 32;
            return a < temp; //返回a和b转换后的temp比较小的那个
            
        }
        else if (is_lower(b))
        {
            //a是大写
            char temp = a + 32;
            return temp < b; //返回b和a转换后的temp比较小的那个
        }
        else
        {
            return a < b; //两个都是大写的,返回比较小的那个
        }
    }
}

int main()
{
    string input = "BadbAbB";
    sort(input.begin(), input.end(), &cmp);
    cout << input << endl;
    //cout << 'A' - 'a' << endl;//-32,那么就是A的ascii数值比较小
    return 0;
}

 今天面试的时候中间写了一个小bug。。。。

标签:输出,排序,大小写,规则,字符串,include
From: https://www.cnblogs.com/Candy003/p/16596373.html

相关文章

  • 亮点4-搜索结果的重新排序采用了本地单页排序和服务端多页排序两种可选模式-《教育行
    《教育行业核心数据流程管理平台》的设计当中,《学生基本信息》管理模块是一个最基本的模块,也是一个十分重要的平台组成部分。它的设计好坏,直接关系到业务管理人员的工作效......
  • Python 字符串插值 All In One
    Python字符串插值AllInOne#!/usr/bin/envpython3#coding=utf-8__author__='xgqfrms'__editor__='vscode'__version__='1.0.1'__copyright__="""Co......
  • Python快速排序
    defquicksort(array):less=[]greater=[]iflen(array)<=1:returnarraypivot=array.pop()forxinarray:ifx<=p......
  • 7-12 排序
    给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个......
  • C/C++ 如何拷贝一个wchar_t类型的字符串
    1Dothis,23wchar_tclone[260];45wcscpy(clone,szPath);67Or,ifyouwanttoallocatememoryyourself,89wchar_t*clone=newwchar_t[wc......
  • 列表元组字典字符串
    目录列表(List)有序元组(Tuple)有序字典(dictionary)无序字符串(String)很乱,等整理好了加进来列表(List)有序是其他语言的数组,但python支持存储不同类型数据,但通常只存......
  • 获取字符串中倒数第二个特定字符的位置
    开发场景中,有时候会遇到取文件路径中的文件夹名称,这些文件路径往往是http格式的,比如下面这样:https://img2020.cnblogs.com/blog/2413255/202112/2413255-20211206155717......
  • 经典排序之堆排序
    堆排序思路堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分......
  • leetcode87-扰乱字符串
    扰乱字符串dpdp需要记录s1和s2的起始位置和长度,所以是一个三维dp。dp[i1][i2][len]表示s1从i1位置开始,s2从i2位置开始,长度为len的两个字符串是否和谐。分为以下几种情......
  • mybatis判断字符串等于
    前言:我们通常使用mybatis过程中,对于判断一个变量是否为空的时候,使用<iftest="xxx!=nullandxxx!=''">进行。有个小坑如下:<iftest="name!=null&&name=='admi......