C語言學習筆記--選擇排序,插入排序

#include<stdio.h>ide



//插入排序,
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++){it

//每次找到最小值的下標
       index=i;
       for(int j=i+1;j<n;j++){
           if(p[index]>p[j])
               index=j;
       }io

//將最小值放在最前面
       swap(p[i],p[index]);
   }
}

void swap(int &p1,int &p2){
   int temp=p1;
   p1=p2;
   p2=temp;
}class