java快速排序,插入排序

本文详细介绍了两种经典的排序算法:快速排序和插入排序。快速排序通过递归地将数组分为两部分并进行排序,而插入排序则通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描找到相应位置并插入。代码示例使用Java实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速排序

package test2;
import java.util.Arrays;
public class Server1 {
	public static void quickSort(int arr[],int low,int hight) {
		if(low<hight) {
			int mid=partition(arr,low,hight);
			quickSort(arr,low,mid-1);
			quickSort(arr,mid+1,hight);
		}
	}
	public static int partition(int arr[],int low,int hight) {
		int key=arr[low];
		int i=low,j=hight;
		if(low<hight) {
			while(i<j) {
				while(i<j&&arr[j]>=key) {
					j--;
				}
				if(i<j) {
					arr[i]=arr[j];
					i++;
				}
		      while(i<j&&arr[i]<=key) {
		    	  i++;
				}
		      if(i<j) {
		    	  arr[j]=arr[i];
		    	  j--;
		      }
				}
			arr[i]=key;
			System.out.println("排序结果"+Arrays.toString(arr));
			}
		return i;
		}
	public static void main(String[] args)   {
    int array[]= {12,65,34,2,56,23,4,5,56,45};
    System.out.println("排序前"+Arrays.toString(array));
   Server1.quickSort(array,0,array.length-1);
    System.out.println("排序后"+Arrays.toString(array));
	}
}

插入排序

package test2;
public class Server1 {
public static void main(String[] args)   {
int arr[]= {2,65,74,24,5,67,32,53};
  insert(arr);
  print(arr);
	}
	public static void insert(int arr[]) {
		for (int i=1;i<arr.length;i++) {
			for (int j=0;j<i;j++) {
				if(arr[j]>arr[i]) {
				int	temp=arr[i];
					for(int k=i;k>j;k--) {
						arr[k]=arr[k-1];
						}
				arr[j]=temp;
				}
			}
		}
	}
		public static void print(int arr[]) {
			for(int n=0;n<arr.length;n++) {
				System.out.print(arr[n]+",");
			}
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值