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…
public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main(String args[]){ //定义一个integer数组 int array[]={0,1,4,8,5,4,10,9}; for(int i=0;i<array.length;i++){ //第二层循环从第一层循环的元素第一次后一个开始 for(int j=i+1;j<array.leng…
冒泡法 属于交换排序,元素两两比较大小,交换位置,结果可升序或降序排列 nums = [2,5,1,6,7,9,8,3,4] for i in range(len(nums)): ##计数器0~8 flag = True ##假定达到目标排序,可以提前结束 for j in range(len(nums)-1-i): if nums[j] > nums[j+1]: nums[j],nums[j+1] = nums[j+1],nums[j] ##temp = nums[j] ##nums[j] =…
最开始的代码 我采用的是我原来进行快速排序所用的方法,一直做不出来. 为什么我会采用原来快速排序的方法?因为我的记忆中好像就是这样的,因此我根据记忆中的快速排序在进行改变,然而,却无法真正的写出双冒泡排序算法,所以,真正的学习是,即使随着时间的流逝,你已经不记得某些东西了,但是,你可以凭借理解在重新写出来. public static void sort(int[] num, int l, int r) { int i = l; int j = l + 1; int key = num[l];…
public class NumberSort {/***读进9个数:*构建成一个int型数组:*顺序排好:**/public static void main(String args[]) {int a[] = new int[args.length];if (args.length == 0) {System.out.println("Usage: Please input some numbers in command line parameters. 0");System.ex…
public class DateSort {public static void main(String args[]) {Date d[] = new Date[11];d[0] = new Date(2011,10,28);d[1] = new Date(2008,5,9);d[2] = new Date(2004,4,9);d[3] = new Date(2002,8,17);d[4] = new Date(2004,5,9);d[5] = new Date(2006,1,23);d[6…
import java.util.*; public class OrderDate{ public static void main(String[] args){ Date[] days = new Date[5]; days[0] = new Date(2020,1,1); days[1] = new Date(2019,2,1); days[2] = new Date(2019,3,1); days[3] = new Date(2019,2,6); days[4] = new Date(…