【排序算法】对 D,a,F,B,c,A,z 这类字符串进行排序问题
slogeor opened this issue · 1 comments
slogeor commented
详细描述
假设现在需要对 D,a,F,B,c,A,z 这个字符串进行排序,要求将其中所有小写字母都排在大写字母的前面,但小写字母内部和大写字母内部不要求有序。
考察知识点
线性排序--基数排序
基本思路
1.设置 2 个桶,分别存放小写字母和大写字母
2.遍历字符串,遇到小写字母将其放到小写字母的桶内,遇到大写字母将其放到大写字母的桶内
3. 遍历两个桶取出字符
时间复杂度
遍历两次,时间复杂度是 O(n)
slogeor commented
方法2:链表法
1.声明两个指针a、b
2.a指针指表头,b指针指队尾
3.a指针从头开始往后遍历,遇到大写字母就停下;b从后往前遍历,遇到小写字母就停下,交换a、b指针对应的元素
4.重复步骤3,直到a、b指针相交