冒泡排序 直接排序 学习笔记

package com.ctgu.java.exer;

public class TestArray3 {
	public static void main(String[] args){
		int[] arr = new int[]{12,43,9,0,-65,-99,100,9};
		int max = arr[0];
		for(int i = 1; i < arr.length;i++ ){
			if(max < arr[i]){
				max = arr[i];

			}
		}
		System.out.println("数组最大值为:" + max);
		int min=arr[0];
		for(int i = 1;i< arr.length;i++){
			if(min >arr[i]){
				min = arr[i];

			}

		}
		System.out.println("数组最小值为:" + min);
		int sum = 0;
		for(int i = 0; i < arr.length; i++){
			sum +=arr[i];

		}
		System.out.println("总和为:" +sum);
		int avg = 0;
		avg = sum / arr.length;
		System.out.println("平均数为:" +avg );

	    // 数组元素复制
		int [] arr1 = new int[arr.length];
		for(int i = 0 ; i < arr1.length;i++){
			arr1[i] = arr[i];
		}

		//数组元素的反转
		//for(int i = 0; i< arr.length/2 ; i++){
			//int temp =arr[i];
			//arr[i] = arr[arr.length-1 - i];
			//arr[arr.length-1-i]=temp;
		//}
		//反转2
		for(int x = 0 , y = arr.length - 1; x < y;x++,y--){
			int temp = arr[x];
			arr[x] = arr[y];
			arr[y] = temp ;
		}

		for(int i = 0; i < arr.length; i++){
			System.out.print(arr[i] + "\t");

		}
		//冒泡排序 从小到大
//		for(int i = 0; i < arr.length-1;i++){
//			for(int j = 0;j < arr.length - 1 -i;j++){
		//      if(arr[j] > arr[j + 1]){
				//	int temp = arr[j];
			//		arr[j] = arr[j + 1];
			//		arr[j + 1] = temp ;
			//	}
		//	}
	//	}
		//直接选择排序 从小大的
		for(int i = 0; i < arr.length;i++){
			int t = i;
			for(int j =i ;j < arr.length - 1;j++){
				if(arr[t]>arr[j]){
					t=j;

				}

			}
			if(t != i){
				int temp = arr[t];
				arr[t] = arr[i];
				arr[i] = temp;

			}

		}

		System.out.println("排序以后:");
		for(int i = 0; i < arr.length; i++){
			System.out.print(arr[i] + "\t");
		}

	}

}
时间: 2024-10-08 09:47:07

冒泡排序 直接排序 学习笔记的相关文章

java排序学习笔记

前面写了js的排序实现,总得玩玩java的哈. 同样,冒泡.选择.快速(这三个之前实现过也写过文章).堆排序,然后做比较. 主要遇到的难点: - -||想轻松点写个封装计时的逻辑,不想每调用一个排序就要写一个计时代码.想想,还是javascript写起来方便: java的话,我想到的方法是写一个抽象类:抽象出排序方法,实现一个排序计时方法(该方法调用了抽象排序,但在先后排序时加入计时代码[感觉像是aop操作]): 接着所有排序类都继承这个抽象类,并实现排序方法,调用的时候直接调用继承的排序计时方

初探排序学习笔记

简单选择排序 思路:选出最小的元素,放在第一个位置,之后在剩下的元素中,选出最小的元素,放在第二个位置.........以此类推,直到完成排序. package h; public class MyA { static void selectOne(int[] a, int begin) { int p = begin; //假设修正法 for(int i=begin+1; i<a.length; i++){ if(a[i] < a[p]) p = i; //记录最小元素所在位置 } {int

八大排序算法学习笔记:冒泡排序

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 算法原理: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有

《大话数据结构》学习笔记 排序

排序的严格定义:  假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字 满足Kp1<=Kp2<=......Kpn关系,即使得序列成为一个按关键字有序的序列(rpq,rp2,......rpn),此操作称为排序.  排序的稳定性:内排序与外排序(根据记录是否全部放置在内存中). 根据排序中的主要操作,可以分为插入排序类(直接插入排序->希尔

黑马程序员--IOS学习笔记--数组及排序

IOS学习笔记 概述: 8_2.改变整型变量的符号 8_2.改变整型变量所占存储空间 8_3.char类型数据存储 8_4.数组的基本概念及分类 8_5.数组元素作为函数参数 8_5.一维数组定义及注意事项 8_6.一维数组初始化 8_7.一维数组一个让人疑惑的问题 8_8.一维数组的引用 8_9.应用:数组遍历 8_10.一维数组的存储方式 8_11.一维数组的地址 8_12.一维数组长度计算方法 8_13.一维数组的越界问题 8_14.应用:找最大值 8_15.数组元素作为函数参数 8_16

GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)

带插件的排序算法演示器 本节将通过一个实例来说明GDI+在MFC中的应用.这个算法演示器其实是本人算法系列的一个开端,由于csdn没有树状的目录结构,咱也只好使用链表了不是?好了,废话不多说,开始今天的文章. (一)功能说明 我们初步制定功能如下: (1). 能够通过柱状图,自动展示排序算法的交换比较过程 (2). 能够使用插件的形式进行开发.即,当新完成一个算法后,只需要完成一个插件文件(我们这里使用动态库dll),由主程序加载插件,即可进行执行,而不再需要重新编译主程序. (3). 保证主程

[原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根

Excel 学习笔记——排序,筛选,查找,定位,分类汇总和数据有效性及 细节操作技巧

Excel 学习笔记   课程内容:查找.替换.定位 想要实现的目标内容: 1.       替换指定内容,例:苏州 <- 苏州市  红色背景色<- 黄色背景色 将"张某某"替换为"经理的亲戚" 2.       定位特定位置的单元格,类似筛选功能(mac 系统中 暂时未发现定位按钮) 3.       批注 修改 删除 变换形状 隐藏命令 利用的工具,手段(操作按钮的名称,位置): 1.1   查找和替换-选项-单元格匹配 用来锁定指定单元格,避免类似