关于Java中的选择排序法和冒泡排序法

一,这种方法是直接传入一个数组进行排序(选择排序法)

public static void selectSort(int arr[]){
	    	for (int i = 0; i < arr.length-1; i++) {
				for (int j = i+1; j < arr.length; j++) {
					if(arr[j]<arr[i]){
						int temp=arr[i];
						arr[i]=arr[j];
						arr[j]=temp;
					}
				}
			}
	    }

二,这种事传入一个数组和一个数组个数(选择排序法)

public static void sel_sort(int[] x, int n){
	        int k, i, m, t;
	        for(k=0; k<n-1; k++){  // 多趟排序
	            m = k;
	            for(i=k+1; i<n; i++){
	                if(x[i] < x[m])
	                	m = i;
	            }
	            t = x[k];
	            x[k] = x[m];
	            x[m] = t;
	        }
	    }

三,冒泡排序法

private static void 冒泡排序(int[] arr) {
		for (int j = 0; j < arr.length-1; j++) {
			for(int i=0;i<arr.length-1-j;i++){
			if(arr[i]>arr[i+1]){
				int temp=arr[i];
				arr[i]=arr[i+1];
				arr[i+1]=temp;
				}
			}
		}
	}
时间: 2024-08-01 21:06:35

关于Java中的选择排序法和冒泡排序法的相关文章

java中数组的排序,冒泡排序法

要求,对数组arr[]进行冒泡法排序. 思路: 1,用第一个元素,和第二个元素相比,将结果大的数放在第二个元素,然后用第二个元素和第三个元素相比,将结果大的放在第三个元素里,依次类推,用倒数第二个元素和倒数第一个相比,将结果大的放到倒数第一个里.这样下来,最后的一个,就是最大的数. 2,还是用第一个元素和第二相比,只不过,比到倒数第二个就停止,最后最大的数放在倒数第二个元素中. 3,依次类推,最后第一个元素和第二个元素相比.大的放在第二个元素中. 至此,排序完毕. 方法代码: public st

用Java实现的选择排序和冒泡排序

选择排序 package cn.hxd.sort; /** * 选择排序 * @author Administrator * */ public class SelectionSort { public static double[] selectionSort(double[] list) { for(int i=0;i<list.length-1;i++) { double currentMin = list[i]; int currentMinIndex = i; //从list[i...

java基本算法选择排序和冒泡排序

1.冒泡排序 冒泡排序(Bubble Sort)是最经典也是最简单的排序算法之一. 原理:比较相邻的两个元素,将值大的元素交换到右边(降序则相反). 步骤:比较相邻的元素.如果第一个比第二个大,就交换他们两个.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. package first; import java.util.Scanne

java中的选择排序之降序排列

1 import java.util.Arrays;//必须加载 2 class Demo{ 3 public static void main(String []args){ 4 int[] arr={3,54,456,342,2798}; 5 System.out.println(Arrays.toString(arr));//java打印数组,排序前[3, 54, 456, 342, 2798] 6 arrSort(arr); 7 System.out.println(Arrays.toS

算法——蛮力法之选择排序和冒泡排序c++实现

这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出最小的一个元素一次放在前面的位置:而冒泡排序法每次是将相邻两个元素进行比较,将较大的元素放在后面,这样一次扫描结束后就将当前最大的那个元素放在了列表的后面. 两个排序方法的算法如下: 选择排序法 SelectionSort(A[0....n-1]) //输入:一个可排序数组A[0....n-1],

java 选择排序与冒泡排序

选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是:R[n]第一次从R[0]~R[n-1]中选取最小值,与R[0]交换;第二次从R[1]~R[n-1]中选取最小值,与R[1]交换;...., 第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换;.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换;总共通过n-1次,得到一个按排序码

Java中的经典算法之冒泡排序(Bubble Sort)

Java中的经典算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后.重复第一趟步骤,直至全部排序完成. 举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排序: 第一次排序:6和3比较,6大于3,交换位置:  

算法效率的分析--【以选择排序与冒泡排序为基础】

在前面我们实现了选择排序与冒泡排序的具体实现,现在我们从数学的角度分析下算法的效率问题: 首先我们把两种排序算法的概念重温一遍: 选择排序:在每一轮中,找出最小的元素放在他最终的位置.挺起来有些别扭,我们举个实例: eg:        8, 5,1, 20, 6, 3 1ed······  1, 5,8, 20, 6, 3 2ed······  1, 3, 8,20, 6,5 3ed······  1, 3,5, 20, 6, 8 4ed······  1, 3,  5, 6,  20,8 5

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置 3 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动 4 不稳定 5 */ 6 #include<windows.h> 7 #include<stdio.h> 8 void main(){ 9 int i,j,arr[10