先祝xdm五一节快乐!
众所周知,C艹是一个万恶的语言,其中代码晦涩难懂,这叫初学者怎么办!
#includeusing namespace std; void QuickSort(int a[],int l,int r){ int i, j, key, tmp; if(l>r){ return; } key=a[l]; i=l; j=r; while(i!=j){ while(a[j]>=key && i j--; } while(a[i]<=key&&i i++; } if(i tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } a[l]=a[i]; a[i]=key; QuickSort(a,l,i-1); QuickSort(a,i+1,r); return; } int main() { int l, r,n; int a[100000]={0}; cin>>n; l=0; r=n-1; for(int i = 0;i cin>>a[i]; } QuickSort(a,l,r); for (int i = 0;i cout< 这是一段快速排序的代码,如果给没有编程基础的人看,谁能看得懂?就算给一个学过编程的人看,估计也得反应一会。
这怎么能忍!
经过九九八十一分钟的魔改编程后,代码变成了这样:#include#include "chinesec++.hpp" using namespace std; 定义未知类型的 QuickSort( 整数类型的 a[], 整数类型的 l, 整数类型的 r){ 定义整数类型的 i, j, key, tmp; 如果(l>r){ 返回; } key 等于 a[l]; i 等于 l; j 等于 r; 循环至 i 不等于 j 为否 { 循环至 a 的第 j 项 大于等于 key 并且 i 小于 j 为否 { j 累减 ; } 循环至 a 的第 i 项 小于等于 key 并且 i 小于 j 为否 { i 累加; } 如果(i 小于 j){ tmp 等于 a[i]; a[i] 等于 a[j]; a[j] 等于 tmp; } } a[l] 等于 a[i]; a[i] 等于 key; QuickSort(a,l,i 减 1); QuickSort(a,i 加 1,r); 返回; } 定义整数类型的 主函数(){ 定义整数类型的 l, r,n; 定义整数类型的 a[100000]={0}; 输入>>n; l 为 0; r 为 n 减 1; 循环(定义整数类型的 i 为 0;i 小于 n;i 累加 ){ 输入>>a[i]; } QuickSort(a,l,r); 循环(定义整数类型的 i 为 0;i 小于 n;i 累加){ 输出< 是不是非常的
繁琐简洁!
关键这玩意竟然还能跑起来!
当然,你不能指望用这玩意去水oj因为C艹不吃这一套。那么怎么能让他吃这一套呢?当然就是抽出CPU,下锅炸至金黄啦!
咳咳 我们说回正题。
这个项目其实是我图一乐做的一个.hpp文件 放在本机上玩玩还是可以的,但是千万不要指望说用它去打比赛,不然OJ就真·黄给你看。
实现这个也很简单。无非就是在.hpp文件里面无脑堆#define,然后一一对应就完了。说他没用吧,其实感觉还有点用比如说可以用它直接来跑伪代码(当然需要你的伪代码足够“工整”),或者用它来给初学者入门,也未尝不可。所以说这个东西废,但不完全废
因为时间关系,这个并没有做的很完善,比如for我写成了“循环(…)”。while写成了“循环至…为否”。如果各位大犇想要魔改或者下载,可以去这里看看。代码很简单,可以自己玩玩。
如果有什么不到之处,求大佬轻喷。本文为我原创,要转载的话请私信我。bye~



