查找最小值
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)
順序統計
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.