NYOJ4 之ASCII码排序和c++快速排序
2015-10-13 15:17
323 查看
#include <iostream> #include <vector> #include <string.h> using namespace std; /** c++版本 快速排序 */ void quickSort(char strDate[], int left, int right) { char middle, tempDate; int i, j; i = left; j = right; middle = strDate[(i + j) / 2]; do { while (strDate[i]<middle && i < right) i++; // 找出左边比中间值大的数 while (strDate[j]>middle && j > left) j--; // 找出右边比中间值小的数 if (i <= j) { // 将左边大的数和右边小的数进行替换 tempDate = strDate[i]; strDate[i] = strDate[j]; strDate[j] = tempDate; i++; j--; } } while (i <= j); // 当两者交错时停止 if (i < right) { quickSort(strDate, i, right);// 从 } if (j > left) { quickSort(strDate, left, j); } } int main(int argc, char* argv[] ) { int a; char str[1024]; cin>>a; while (a--) { cin>>str; int len=strlen(str); quickSort(str,0,len-1); unsigned int i=0; for (;i<len;i++) { cout<<str[i]<<" "; } cout<<endl; } return 0; }
http://acm.nyist.net/JudgeOnline/problem.php?pid=4
相关文章推荐
- C++指针(一)
- 值得推荐的C/C++框架和库
- c语言指针
- c语言 c到c++的注释转换
- 递归函数的使用-以C++语言为例(下)
- [C++] Realloc Memory
- c++ template 多层继承下找不到纯虚拟函数实现 报错:undefined reference to "xxx"
- C语言实现的Python扩展模块
- c++操作EXCEL
- C++ BOOST库 条件变量[多线程通信]机制 简单介绍
- HDU 1312 Red and Black(dfs)
- C++中Format的用法
- 爬爬爬之路:C语言(四) 一维数组篇
- The differences between new(delete) and malloc(free) in c/c++
- C++第六课 函数1
- c语言实现模拟发送报文改进版(添加程序自动打log)
- Leecode_Count Primes
- C++ 用户自定义类型
- Leetcode NO.8 String to Integer (atoi)
- C语言:标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。行号不能有限制