编辑代码

#include <stdio.h>
#include <stdlib.h>

int arr[11]={1,2,5,4,6,3,9,8,7,3};
int *getSort(int *array,int size){
     for(int i=0;i<size-1;++i){  //增量表达式会在循环体末尾执行,所以此处i++和++i没什么区别
	 int end=i;
      printf("index:%d\n",i);
	 int compare=array[end+1];
	 while(end>=0){
	     if(compare<array[end]){
		   array[end+1]=array[end];
			end-=1;
		 }
		 else
			 break;
	 }
     array[end+1]=compare;
	 }
return array;
}
int *bubbleSort(int * array,int size){
   int end=size;
   while(end){
    int flag=0;
    for(int i=1;i<size;i++){
      if(array[i]<array[i-1]){
         int tem=array[i];
        array[i]=array[i-1];
        array[i-1]=tem;
        flag=1;
      }
      if(flag==0)
         break;
    }
    end-=1;
   }
   return array;
}
int *choiceSort(int *array,int size){
    int begin=0,end=size-1;//因为数组是从0下标开始的
    while(begin<end){
      int max=begin;
      int min=begin;
      int temx=0;
      int temi=0;
      for(int i=begin;i<end;i++){
        if(array[i]<array[min]){
            min=i;
        }
        if(array[i]>array[max]){
            max=i;
        }
      }
      temx=array[max];
      temi=array[min];
      array[begin]=array[min];
      array[end]=array[max];
      array[min]=temi;
      array[max]=temx;
      begin+=1;
      end-=1;
    }
    return array;
}
int main()
{
   /*  Write C code in this online editor and run it. */
	int *p=NULL;
    int *pb=NULL;
    int *cp=NULL;
	p=getSort(arr,10);
    pb=bubbleSort(arr,10);
    cp=choiceSort(arr,10);
	for(int i=0;i<10;i++){
	 // printf("%d\n",p[i]); 
      //printf("bubble:%d\n",pb[i]); 
      printf("choice:%d\n",cp[i]); 
	}
   printf("Hello, World! \n");
   return 0;
}