} printf("产生的随机数由小到大排序为:\n");for(j=0;j<100;j++){ printf("%d ",a[j]);} } 这只是简单的冒泡排序,如果要用选择排序只需要把排序那块改一下,如果还不明白+965974742
include <stdio.h> include <stdlib.h> include define MAXLENGTH 10 //这里请自己改成100就可以了,我测试只用10!void Fill(int numbers[]){ srand((unsigned)time(NULL)); for(int i=0;i<MAXLENGTH;++i){ numbers[i]=rand()%900+100;printf("%d ",numbers[i]);} printf("\n");...
int b[ 10 ];void Merge( int c[], int d[], int l, int m, int r ){ int i = l, j = m + 1, k = l;while( ( i <= m ) && ( j <= r ) )if( c[ i ] <= c[ j ] ) d[ k++ ] = c[ i++ ];else d[ k++ ] = c[ j++ ];if( i > m )for(...
include<stdlib.h> include define N 100 int a[N];void inputa(){ srand(time(0));for(int i=0;i<N;i++)a[i]=rand()%9000+1000;} void outa(){ for(int i=0;i<N;i++){ printf("%d",a[i]);if((i+1)%10)printf("\t");else printf("\n");} } void swap(int ...
int main(){ // freopen("out.txt","w",stdout);srand(time(0));int n=100000000;//产生字符的个数 int big=-1;for(int i=0;i<n;i++){ int a = rand()*rand();} } 我知道你什么意思了,是说rand()的范围只能产生2^15-1的数, 你再乘一个rand()就行了,不会超过int,可以...
publicclassRandomQuickSort{ privatestaticintpartition(int[]data,intp,intr){ intrandom=newRandom().nextInt(r-p)+p; inttmpR=data[random]; data[random]=data[r]; data[r]=tmpR; intx=data[r]; inti=p-1; for(intj=p;j<=r-1;j++){ ...
?随机快速排序 其实随机快排就比上面的快排1.0只换了一行代码,就让快拍的时间复杂度达到了O(NlogN) 代码: int begin,end;void quicksort(vector<int>& a,int l,int r){//快排主逻辑if(l >= r) return;//base case终止条件int x = a[l + rand() % (r - l + 1)];//随机一个划分值partition...