• PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 9
    下载次数
  • 2009-11-27 14:27
    上传日期
分治法的应用 将序列A(0:n-1)中元素按照升序排序方法:归并排序和快速排序((1)对于快速排序,主元采用三者A(low),A(high),A((low+high)/2)中其值居中者
fenzhifa.rar
  • 5.cpp
    2.1KB
内容介绍
#include<stdio.h> #include<stdlib.h> #include <time.h> #include<windows.h> #define LENGTH 100000 #define length 5000*n int a[LENGTH],b[LENGTH],c[LENGTH],fenleiCounter=0; void guibing(int,int,int); void fenlei(int,int); inline void swap(int v[], int k, int j); void qsort(int v[], int left, int right); void main() { int i,n; srand( (unsigned)time( NULL ) ); for(n=1;n<=20;n++) { for(i=1;i<5000*n;i++) { a[i]=rand()%(100000+1); c[i]=a[i];} /*for(i=0;i<length;i++){ printf("%4d",a[i]); };*/ long t3=GetTickCount(); qsort(c, 0,length-1); long t4=GetTickCount(); printf("第%d次快速排序时间:%dms",n,t4-t3); long t1=GetTickCount(); fenlei(0,length-1); long t2=GetTickCount(); printf("第%d次归并排序时间:%dms",n,t2-t1); printf("\n");} // for(i=0;i<length;i++){ // printf("%d",a[i]);} /*for(i=0; i <length; i++) { printf("%4d",c[i]); }*/ getchar(); } void guibing(int low,int mid,int high){ int h,j,k,i; h=low; j=mid+1; k=low; while(h<=mid&&j<=high) { if(a[h]<=a[j]) { b[k]=a[h]; h++; } else{ b[k]=a[j]; j++; } k++; } if(h>mid){ for(i=j;i<=high;i++) { b[k]=a[i]; k++; } } else { for(i=h;i<=mid;i++) { b[k]=a[i]; k++; } } for(i=low;i<=high;i++) { a[i]=b[i]; } } void fenlei(int low,int high) { int mid; if(low<high) { mid=(int)((high+low)/2); fenlei(low,mid); fenlei(mid+1,high); guibing(low,mid,high); } fenleiCounter++; } inline void swap(int v[], int k, int j) { int temp; temp = v[k]; v[k] = v[j]; v[j] = temp; } void qsort(int v[], int left, int right) { int j, last; if (left >= right) return; swap(v, left, (left + right)/2); last=left; for(j=left+1;j<=right;j++) { if (v[j] < v[left]) { swap(v, ++last, j); } } swap(v, left, last); qsort(v, left, last-1); qsort(v, last+1, right); }
评论
    相关推荐
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载
    • MobilePolice.rar
      移动警察,车牌识别,车牌定位系统源代码,已经运用在移动车载稽查系统中。
    • SVM(matlab).rar
      支持向量机(SVM)实现的分类算法源码[matlab]
    • svm.zip
      用MATLAB编写的svm源程序,可以实现支持向量机,用于特征分类或提取
    • Classification-MatLab-Toolbox.rar
      模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
    • VC++人脸定位实例.rar
      一个经典的人脸识别算法实例,提供人脸五官定位具体算法及两种实现流程.
    • QPSK_Simulink.rar
      QPSK的Matlab/Simulink的调制解调仿真系统,给出接收信号眼图及系统仿真误码率,包含载波恢复,匹配滤波,定时恢复等重要模块,帮助理解QPSK的系统
    • LPRBPDemo2009KV.rar
      车牌识别,神经网络算法,识别率高达95%,识别时间低于80ms。
    • MODULATION.RAR
      这个源程序代码包提供了通信系统中BPSK,QPSK,OQPSK,MSK,MSK2,GMSK,QAM,QAM16等调制解调方式 用matlab的实现,以及它们在AWGN和Rayleigh信道下的通信系统实现及误码率性能
    • algorithms.rar
      十大算法论文,包括遗传算法,模拟退火,蒙特卡罗法等等,对于初学者很有帮助!!