冒泡排序:
#冒泡排序(降序) #冒泡排序要排序n个数,由于每遍历一趟只排好一个数字, #则需要遍历n-1趟,所以最外层循环是要循环n-1次,而 #每次趟遍历中需要比较每归位的数字,则要在n-1次比较 #中减去已排好的i位数字,则第二层循环要遍历是n-1-i次 bb=[6,5,8,2,45,3,9] for ii in range(len(bb)-1): for jj in range(len(bb)-1-ii): if (bb[jj+1]>bb[jj]): temp=bb[jj] bb[jj]=bb[jj+1] bb[jj+1]=temp print(bb)
选择排序:
#选择排序(升序) #先从序列中,找到最小的元素,放在第一个位置 #之后找到第二小的元素,放在第二个元素,以此类推 bb=[6,5,8,2,45,3,9] for i in range(len(bb)-1): min=i #遍历一次找到一个最小值下标 for j in range(i+1,len(bb)): #这里的range()前闭后开,若要取到len(bb)-1第二个参数只能为len(bb) if(bb[min]>bb[j]): #将最小的值赋给bb[min] temp1=bb[j] bb[j]=bb[min] bb[min]=temp1 print(bb)