Java选择排序和冒泡排序示例

简介: package cc.test;/** * Demo描述: * 选择排序和冒泡排序 */public class TestSort { public static void main(String[] args) { ...
package cc.test;
/**
 * Demo描述:
 * 选择排序和冒泡排序
 */
public class TestSort {

	public static void main(String[] args) {
           TestSort testSort=new TestSort();
           int intArray []=new int []{11,3,-2,4,8,7};
           testSort.selectSort(intArray);
           testSort.bubbleSort(intArray);
	}
	
	//选择排序
	//取出第一个元素依次与其后的每个元素比较,若大于则交换位置
	//在第一次排序完成后第一个元素存放的就是数组中的最小值
	//继续第二次排序,依次类推.....
	//但已经排过序的元素不需要再次参加排序
	//即代码:int j = i+1
	public void selectSort(int [] intArray){
		int temp;
		for (int i = 0; i < intArray.length; i++) {
			for (int j = i+1; j < intArray.length; j++) {
				if (intArray[i]>intArray[j]) {
					temp=intArray[j];
					intArray[j]=intArray[i];
					intArray[i]=temp;
				}
			}
		}
		
		System.out.println("选择排序结果如下:");
		for (int i = 0; i < intArray.length; i++) {
			System.out.print(intArray[i]+" ");
		}
		System.out.println("");
	}
	
	//冒泡排序
	//两个相邻的元素比较,一轮后一个最大值排在了数组最后面
	//继续上面操作,只是在上一轮中已排出的最大元素不再参加排序
	//备注说明:
	//1 外层for循环控制的是比较的轮数.
	//  注意:轮数总比数组长度小1.因为最后一轮就剩下一个元素没有排序的必要了
	//  因为此时第一个元素已经是最小值
    //  即代码:i < intArray.length-1
	//2 内存for循环控制每一轮的比较
	//  注意:要防止下标越界而且在以往轮中已经排序出来的值就不要再次参加排序
	//  即代码:j < intArray.length-1-i
	public void bubbleSort(int[] intArray) {
		int temp;
		for (int i = 0; i < intArray.length-1; i++) {
			for (int j = 0; j < intArray.length-1-i;j++) {
				if (intArray[j] > intArray[j + 1]) {
					temp = intArray[j + 1];
					intArray[j + 1] = intArray[j];
					intArray[j] = temp;
				}
			}
		}
		System.out.println("冒泡排序结果如下:");
		for (int i = 0; i < intArray.length; i++) {
			System.out.print(intArray[i]+" ");
		}
	}

}

相关文章
|
5月前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
167 1
|
6月前
|
存储 Java
Java中的HashMap和TreeMap,通过具体示例展示了它们在处理复杂数据结构问题时的应用。
【10月更文挑战第19天】本文详细介绍了Java中的HashMap和TreeMap,通过具体示例展示了它们在处理复杂数据结构问题时的应用。HashMap以其高效的插入、查找和删除操作著称,而TreeMap则擅长于保持元素的自然排序或自定义排序,两者各具优势,适用于不同的开发场景。
80 1
|
8月前
|
搜索推荐 Java 索引
|
5月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
169 38
|
8月前
|
存储 Java API
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
|
6月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
184 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
6月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
90 9
|
6月前
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
518 11
|
6月前
|
机器学习/深度学习 算法 搜索推荐
让星星⭐月亮告诉你,Java冒泡排序及其时间复杂度计算
冒泡排序是一种简单的排序算法,通过多次遍历数组,每次比较相邻元素并交换位置,将较小的元素逐步移至数组前端。第一轮结束后,最小值会位于首位;第二轮则将次小值置于第二位,依此类推。经过 (n-1) 轮遍历后,数组完成排序。冒泡排序的时间复杂度为 O(n²),在最优情况下(已排序数组)时间复杂度为 O(n)。示例代码展示了如何实现冒泡排序。
144 1
|
6月前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
61 1
下一篇
oss创建bucket