原创

选择排序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://linuxstyle.blog.csdn.net/article/details/7207759

选择排序算法思想:

第一次:选第2个数和第一个比较并把小的放左边,继续比较第3个和第一个,这样一圈下来最小的到第一位;

第二次:选第3个数和第二个数比较

如此直到最后一个数。

 

 

C语言版

#include <stdio.h>;
void Selectsort(int A[],int n) 
{
     int i,j,temp; 
     for(i=0;i<n;i++) 
     {
          for(j=i+1;j<n;j++)  /* 从j往前的数据都是排好的,所以从j开始往下找剩下的元素中最小的 */
          {
               if(A[i]>A[j])  /* 把剩下元素中最小的那个放到A[i]中 */
               {
                temp=A[i]; 
                A[i]=A[j]; 
                A[j]=temp;
               }
          }
    } 
}



int main(void)
{
    int arr[]={1,5,2,4,3,8,6,7,9};
	int count=sizeof(arr)/sizeof(int);
    
    Selectsort(arr,count);

	int k;
	for(k=0;k<count;k++)
	{
		printf("%d",arr[k]);
	}
    return 0;
}


 

 

 

PHP代码

<?php
      $arr=array(1,5,2,4,3,8,6,7,9);
      print "排序前 ";
      print_r($arr);
      echo "<br>";
      $arr=select_sort($arr);
      //$arr=bubble_sort($arr);
      print "排序后 ";
      print_r($arr);
      
      //选择排序
      function select_sort($array)
      {
          $count=count($array);
          $k=0;
          for($i=0;$i<$count;$i++)
          {
              for($j=$i+1;$j<$count;$j++)
              {
                  if($array[$i]>$array[$j])
                  {
                      $temp=$array[$i];
                      $array[$i]=$array[$j];
                      $array[$j]=$temp;
                      $k++;
                  }
              }
          }
          echo "一共用了".$k."次<br>";
          return $array;
      }
      
      //冒泡排序
      function bubble_sort($array)
      {
          $count = count($array);
          $bool=true;$k=0;
          for($i=0;$i<$count;$i++)
          {
              for($j=$count-1;$j>$i;$j--)
              {
                  if($array[$j]<$array[$j-1])
                  {
                      $temp=$array[$j];
                      $array[$j]=$array[$j-1];
                      $array[$j-1]=$temp;
                      $bool=false;
                      $k++;
                  }
              }
              if($bool==true)
              {
                  break;
              }
          }
          echo "一共用了".$k."次<br>";
          return $array;
      }
    ?>

文章最后发布于: 2012-01-17 18:33:07
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览