选择排序算法重新温习

来源:互联网 发布:淘宝的询单有礼在哪里 编辑:程序博客网 时间:2024/05/21 21:43
#include <stdio.h>

void
printf_array(int *array,int len)
{
 int i=0;
 for(i =0;i<len;i++)
 {
  printf("%d ",*(array+i));     
  //printf("%d ",array[i]);     
                
 printf("\n");
                
}
 void swap_array(int *array,int i,int k)
 {
  int temp = *(array+i);
  *(array+i) = *(array+k);
  *(array+k) = temp;
 }
 void SelectSort(int *array,int len)//O(n*n)
 {
   int i=0,j=0;
   int k = -1;
  for(i=0;i<len;i++)
   {
   k=i;
      for(j=i;j<len;j++)
      {
      if( *(array+j) < *(array+k) )
          k =j;         
      }
  swap_array(array,i,k);//找出最小的然后和有序的最后的替换
   
   
 }
int main(void )
{
 int array[]={21,25,49,25,16,8};
 int len = sizeof(array) / sizeof(*array);
 SelectSort(&array[0],len);
 printf_array(&array[0],len);   
 
 while(1);
 return 0;
}
 
0 0
原创粉丝点击