一,这种方法是直接传入一个数组进行排序(选择排序法) 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; } } } } 二,这种事传入一个数组和一个数组个数(选择排序…
前言 : 今天学习的是J2SE视频里的第五章,数组部分,它里面留了一个经典的作业,就是让我们去从1倒9按一定规格排序,这让我想起了学习vb的时候最最让我头疼的两种排序方法,选择排序法 和 冒泡排序法.而且由于害怕他们,也不敢总结,怕出错.我们在学习C语言的时候,老师也不知过这个作业,不过比较可惜,当时我是背的老师的例子,没有真正理解.今天,正好让我又遇见了他们兄弟俩,所谓是"仇人见面,分外眼红",我们这种不打不相识的友谊,从今天就开始有了. 今天,正好有这个机会,我就用java基础来写…
var arr = [12,25,8,16,14]; console.log("排序前数组,",arr) //选择排序:第一轮,找出数组中最小的数,将第一项和最小的数互换位置.第二轮找到除第一项最小的数,和第二项互换位置,依次类推 //封装选择排序的函数 function selectSort(arr){ for (var i = 0; i < arr.length-1; i++) { for (var j = i+1; j < arr.length; j++) { if(…
import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,456,342,2798}; System.out.println(Arrays.toString(arr));//java打印数组,排序前[3, 54, 456, 342, 2798] arrSort(arr); System.out.println(Arrays.toString(arr));//…
1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i = 0; i < arr.length; i++) { s = i; for (int j = i + 1; j < arr.length; j++) { if (arr[s] > arr[j]) { //记录最小值的下标值 s = j; } } //如果最小数的下标值改变,则交换 if…
[基本思想] 假设数组为int[] a = { 49, 38, 65, 97, 76, 13, 27 },数组元素个数为7个. 第1轮比较:先是a[0]与a[1]比较,大于则先交换,再比较a[1]和a[2]......最后是a[5]与a[6]比较.总共比较6次. 第2轮比较:先是a[0]与a[1]比较,大于则先交换,再比较a[1]和a[2]......最后是a[4]与a[5]比较.总共比较5次. 第3轮比较:先是a[0]与a[1]比较,大于则先交换,再比较a[1]和a[2]......最后是a[…
这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出最小的一个元素一次放在前面的位置:而冒泡排序法每次是将相邻两个元素进行比较,将较大的元素放在后面,这样一次扫描结束后就将当前最大的那个元素放在了列表的后面. 两个排序方法的算法如下: 选择排序法 SelectionSort(A[0....n-1]) //输入:一个可排序数组A[0....n-1],…
选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是: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次,得到一个按排序码…
public class SortAndSelectDemo{ public static void main(String[] args){ int[] arr = {3, 5, 17, 2, 11, 13, 19, 7, 23}; //bubbleSort(arr); selectSort(arr); printArr(arr); int searchIndex = halfSearch(arr,6); System.out.println(searchIndex); } //选择排序 pu…
Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后.重复第一趟步骤,直至全部排序完成. 举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排序: 比较,6大于3,交换位置…