20170927_快排应用_将数组中的大小写字母分开
题目:
给定一个字符数组,其中仅包含大写字母和小写字母,将其中的字母进行重新排序,
使得小写字母在所有的大写字母前面。
//快排应用_将数组中的大小写字母分开
/*
给定一个字符数组,其中仅包含大写字母和小写字母,将其中的字母进行重新排序,
使得小写字母在所有的大写字母前面。
*/
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<numeric>
#include<functional>
using namespace std;
bool isUper(char ch)
{
if(ch>='A' && ch<='Z')
return true;
else
return false;
}
bool isLower(char ch)
{
if(ch>='a' && ch<='z')
return true;
else
return false;
}
void Patition(char r[], int first ,int end)
{
while(first<end)
{
while(first<end && isUper(r[end]))
--end;
while(first<end && isLower(r[first]))
++first;
char temp=r[first];
r[first]=r[end];
r[end]=temp;
}
}
int main(void)
{
char r[]={'a','A','b','B','c','C','D','E','e'};
Patition(r,0,8);
int i=0;
while(i!=8)
cout<<r[i++]<<",";
cout<<endl;
system("pause");
return 0;
}