查找最小值
MINIMUM(A)
1. min=A(1)
2. for i=2 to A.length
3. if min>A[i]
4. min=A[i]
5. return min
选择排序代码
#include<iostream>
using namespace std;
void sort(int [],int);
int main(){
int a[],i;
srand(int(time(0))); //调用种子函数
for(int i=0;i<10;i++) a[i]=rand()%100;
for(int i=0;i<10;i++) cout<<a[i]<<'\t';
cout<<endl;
sort(a,10);
cout<<"order 1: "<<endl;
for(i=0;i<10;i++) cout<<a[i]<<'\t';
cout<<endl;
}
//sort.cpp
sort(int x[],int n){
int min,t;
for(int i=0;i<n-1;i++){
t=i;
for(int j=i+1;j<n;j++)
if(x[j]<x[t]) t=j; //循环未排序中找出最小值下标 t
if(t!=i){
{min=x[i];x[i]=x[t];x[t]=min;} // 交换数组元素
}
return;
}
随机选择算法
RANDOMIZED-SELECT(A,p,r,i)
if (p==r)
return A[q]
q=RANDOMON-PATITION(A,p,r)
k=q-p+1
if k==i
return A[q]
else if(i<k) return RANDOMIZED-SELECT(A,p,q-1,i)
else return RANDOMIZED-SELECT(A,q+1,r,i-k)
顺序统计
猜你喜欢
转载自blog.csdn.net/a096030098/article/details/44536393
今日推荐
周排行