| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法2022让快速排序通行世界-排序算法12快速排序01 -> 正文阅读 |
|
[数据结构与算法]算法2022让快速排序通行世界-排序算法12快速排序01 |
//让快速排序(以及更快速的排序)算法 通行世界 //希望程序员不要再写 冒泡排序算法等 //#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 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 14:33:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |