Fork me on GitHub

python冒泡排序

def arr(num):
   for i in range(len(num)-1):
      for j in range(len(num)-1-i):
         if num[j]>num[j+1]:
            num[j],num[j+1]=num[j+1],num[j]
   return num
print(arr([888,12,11,2,3,9,0,342,234,46,332,432,653,4234,45,234,234,234,234,4]))
#冒泡排序要排序n个数,由于每遍历一趟只排好一个数字,
#则需要遍历n-1趟,所以最外层循环是要循环n-1次,而
#每次趟遍历中需要比较每归位的数字,则要在n-1次比较
#中减去已排好的i位数字,则第二层循环要遍历是n-1-i次

 C# 方法:

  public int[] Arr(int[] num)
        {
            int temp;//
            for (int i = 0; i < num.Length; i++)//循环数组长度
            {
                for (int j = 0; j < (num.Length - 1) - i; j++)//循环数组减去已经循环的数
                {
                    //5, 2, 4, 3, 1
                    if (num[j] > num[j + 1])//5 >2    5>4  5>3  5>1  4>3 4>1    3>1 2>1
                    {
                        temp= num[j + 1];///那个相比之下小一些的数 存到temp
                        num[j + 1] = num[j];//交换位置   给相对比较小的那个数的index给那个比较大的数
                        num[j] = temp;
                    }
                }
            }
            return num;//不要忘了
        }

 JS:

function list(){
//debugger;
var list=[1,2,3,8,6,11,5];
for(let i=0;i<list.length;i++){
  for(let j=0;j<list.length-1-i;j++){//-1 是因为第一次循环后最后一个元素是最大的
    if(list[j]>list[j+1]){
      l=list[j+1];
      list[j+1]=list[j];
      list[j]=l;
    }
  }
}
return list;
}

 

posted @ 2018-11-30 10:22  都一样*  阅读(224)  评论(0编辑  收藏  举报