#include<stdio.h>
//插入排序,
void sortArray(int p[] , int n);
void insert(int p[],int a,int b);
//選擇排序
void selectedSort(int p[],int n);
void swap(int &p1,int &p2);
//預定義
#define ArrayCounts 9
int main(){
int a[]={1,3,8,2,6,5,7,4,9};
sortArray(a,ArrayCounts);
for(int i =0; i<ArrayCounts;i++){
printf(" %d ",a[i]);
}
printf("\n");
int b[]={1,3,8,2,6,5,7,4,9};
selectedSort(b,ArrayCounts);
for(int i =0; i<ArrayCounts;i++){
printf(" %d ",b[i]);
}
printf("\n");
return 0;
}
void sortArray(int p[] , int n){
for(int i =1;i<n;i++){
for(int j=0;j<i;j++){
//找到需要插入的位置
if(p[i]<p[j])
insert(p,j,i);
}
}
}
//插入函數的具體實現
void insert(int p[],int a,int b){
int temp=p[b];
printf("temp:%d\n",temp);
while(a<b){
p[b]=p[b-1];
b--;
}
p[a]=temp;
}
void selectedSort(int p[],int n){
int index;
for(int i=0;i<n;i++){
//每次找到最小值的下標
index=i;
for(int j=i+1;j<n;j++){
if(p[index]>p[j])
index=j;
}
//將最小值放在最前面
swap(p[i],p[index]);
}
}
void swap(int &p1,int &p2){
int temp=p1;
p1=p2;
p2=temp;
}
本文出自 “小宇2013” 博客,轉載請與作者聯系!