//让快速排序(以及更快速的排序)算法 通行世界
//希望程序员不要再写 冒泡排序算法等
#include<stdio.h>
//#include <iostream>
#define N10 10
//int low=0,high=n-1;
void FastSort(int list[],int a,int b) {//110
// int low=a,high=b;
if(a<b) //low<high) //如果不加这个判断递归会无法退出导致堆栈溢出
{//220if
int low=a,high=b;
int pivot=list[low]; //枢轴记录
while(low<high)
{//330
while(low<high && list[high]>=pivot) --high;
//list[high]<pivot
list[low]=list[high];
while(low<high && list[low]<=pivot) ++low;
//list[low]>pivot
list[high]=list[low];
}//330while
list[low]=pivot;
FastSort(list,a,low-1);
FastSort(list,low+1,b);
}//220if
}//110FastSort
int main(int arg,char *args[])
{
int a[N10]={10,1,6,2,6,8,6,18,3,90};
FastSort(a,0,(N10-1));
int i;
printf("排序后:");
for(i=0; i<N10; i++)
{
printf("%d,",a[i]);
}
printf("\n");
getchar();
return 0;
}//10main
#include<ctime>
#include<stdio.h>
#include<math.h>
#define G0G10 10.0
#define Y400 400
#define X1900 1900
int Aa[1+X1900][1+Y400];
void setAa(int n0=0) {
for(int i=0;i<=X1900;++i) {//for110i
for (int j=0;j<=Y400;++j) {
Aa[i][j] =n0;
}
}//for110i
}//setAa
double xR;
int main() {
//
setAa(0);
//
double Gg=G0G10;
clock_t star01=clock();
// printf("%d\n",star01);
//
double xRf02=0;
double Ss=0;
double Tt2T=0;
unsigned long int uliTimeSec=0;
// star01=clock()-5; //提前 2次 (估 5秒,预演)
star01=clock()+20;
for(int i=-1;i<29;++i) {
xR=(double)rand();
xRf02= xR/RAND_MAX/100000 - 0.000004; //5个0
Gg=G0G10;
// Gg= G0G10+xRf02;
if(i>0) {uliTimeSec= clock()-star01; uliTimeSec= uliTimeSec<0? 0: uliTimeSec; }
if(i<0) continue;
if(0==i) {star01=clock(); star01= 30+clock();} //内循环微调1次
printf("第%d次,%d秒:\n",1+i,uliTimeSec);
// printf("g=%f\n",Gg);
//S= 1/2*a*t^2;
Tt2T= (double)uliTimeSec*(double)uliTimeSec;
Ss= Gg*Tt2T/2.0;
printf("S=%f\n",Ss);
//给坐标赋予值
int xx= Ss/500;
// if(xx>300) xx=300;
if(xx<0) xx=0;
int yy=uliTimeSec/5;
Aa[yy][xx]=1;
}//for110i
//输出
printf("绘图:\n");
//i时间; j:S位移
for(int i=0;i<19;++i) {
for(int j=0;j<299;++j) {
if(1==Aa[i][j]) {
printf("*");
goto Lab550;
}
else printf(" ");
}//220j
Lab550:
//if(0==i%20)
printf("\n");
}//110i
//
}//main