Insert Sort

程式碼:

#include<stdio.h>
#include<stdlib.h>
void Insert_Sort(int [],int);
int main(void){
 int arr[] = {37,41,19,81,41,25,56,61,49};
 Insert_Sort(arr,9);
 
 system("pause");
 return 0;
}

void Insert_Sort(int arr[],int n){
 int i,j,k,up;
 for(i=0;i<n;i++){
  up = arr[i];//把第一個元素存入up 
  j = i;
  while(j>0 && arr[i-1]>up){ //前者>UP則成立 
   arr[j] = arr[j-1];//把前者的值存入後者 ,就是右移 
   j--;//j-1在比較但j-1為空資料 
  }
  arr[j] = up;;
  for(k=0;k<n;k++){
    printf("%d ",arr[k]);
  }
  printf("\n");
 }
}


結果:

留言

熱門文章