排序方法

作者在 2018-02-08 00:23:37 发布以下内容

#include <stdio.h>
1.冒泡排序法
void BubbleSort(int  arr[],int n)   //-5,4,8,-100 ....如100个数字
{  
   int  i,j,tmp;//i和j是循环变量,tmp是临时交换变量

for (i=0;i<n-1;i++)//n=4

{
       for(j=1;j<n-i;j++)//n=4
       {
        if(arr[j-1]>arr[j])//如果前一个大于后一个就进行交换
        {
       tmp=arr[j-1];
       arr[j-1]=arr[j];
      arr[j]=tmp;
        }
     }
   }
}

2.选择排序法

void SelectSort(int arr[],int n)

{

                 int i,j,min,tmp;i和j是循环变量,min是标记,tmp是临时交换变量
              for(i=0;i<n-1;i++)//-100,-8,25,100,0
       {
             min=i;//min=0

for(j=i+1;j<n;j++)//j=1

              {

if(arr[j]<arr[min])//min=1

{

min=j;//如果发现比默认最小值还小的值,就记录下该数的下标

      }

}

if(min != i)

{

tmp=arr[i];

arr[i]=arr[min];

arr[min]=tmp;

       }
            }

}





C | 阅读 1118 次
文章评论,共0条
游客请输入验证码
最新评论