算法面试必备-----排序算法

算法面试必备-----排序算法

冒泡排序

冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。

Python实现(n2)

def bubble_sort(a_list):
	for i in range(0,len(a_list)-1):
		for j in range(0,len(a_list)-1-i):
			if a_list[j] > a_list[j+1]:
				a_list[j],a_list[j+1] = a_list[j+1],a_list[j]
	return a_list

Java实现(n2)

public class BubbleSort{
   

	public static int[] bubbleSort(int[] a_list){
   
		for(int i = 0;i<a_list.length-1;i++){
   
			for(int j = 0;j<a_list.length-1-i;j++){
   
				if(a_list[j]>a_list[j+1]){
   
					int temp = a_list[j];
					a_list[j] = a_list[j+1];
					a_list[j+1] = temp;
				}
			}
		}
		return a_list;
	}
	public static void main(String[] args){
   
		int[] arr = {
   8,7,6,5,4,3,2,1};
		bubbleSort(arr);
		for(int x :arr){
   
			System.out.println(x);
		} 

	}
}

选择排序(不稳定)

选择排序的基本思想:比较+交换

在待排序的一组数据中,选出最小(最大)的一个数与第一个位置的数交换,然后在剩下的数中,再找最小(最大)的数与第二个位置的数交换位置,

依次类推,直到第N-1个元素与第N个元素交换位置,选择排序结束。

Python实现(n2)

def select_sort(a_list):
	for i in range(len(a_list)-1):
		min_index = i
		for j in range(i+1,len(a_list)):
			if a_list[j] < a_list[min_index]:
				min_index = j
		a_list[i],a_list[min_index] = a_list[min_index],a_list[i]
	return a_list
arr2 = [76,65,24,23,3]
print(select_sort(arr2))
                

Java实现(n2)

public class SelectSort{
   
    public static int[] selectSort(int[] a_list){
   
        for(int i = 0;i<a_list.length-1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值