排序法(整理)
来源:互联网 发布:jdk windows x64 下载 编辑:程序博客网 时间:2024/05/29 02:34
排序法有二十多种,最常见的有:冒泡排序法、交换排序法、快速排序法等等。
一、冒泡排序法
冒泡排序法是最简单也最容易理解的,如果实在想不明白,可以看看这个视频(冒泡排序法视频:http://v.youku.com/v_show/id_XMzg2NTI5Mjg0.html?from=s1.8-1-1.2)
如果用冒泡法升序排列,就是相邻两个数字比大小,从第一个位置的数和第二个位置的数开始比较,大的数字放到第二个位置,然后第二个位置的数字和第三个位置的数字进行比较,大的数字放到后面位置,依次类推。
冒泡排序法的实例代码:
import java.util.Random;public class BubbleSortDemoTest{public static void main(String[] args){Random random = new Random();int[] number = new int[10];for(int i = 0; i < 10; i++){number[i] = random.nextInt(41) + 10;System.out.print(number[i] + " ");}System.out.println();bubbleSort(number);for(int i = 0; i< number.length; i++){System.out.print(number[i] + " ");}}public static void bubbleSort(int[] array){for(int i = 0; i< array.length - 1; i++){for(int j = 0; j < array.length - i - 1; j++){if(array[j] > array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}}}
二、快速排序法
快速排序法的视频(快速排序法:http://v.youku.com/v_show/id_XNDI0ODk4NTMy.html?from=s1.8-1-1.2 或者 http://v.youku.com/v_show/id_XMTQyMDc2ODAxNg==.html?from=s1.8-1-1.2)
这个排序法就是头跟尾比较。
快速排序法的实例代码:
import java.util.Random;public class QuikSortDemoTest{public static void main(String[] args){Random random = new Random();int[] number = new int[10];for(int i = 0; i < 10; i++){number[i] = random.nextInt(41) + 10;System.out.print(number[i] + " ");}System.out.println();quikSort(number, 0, 9);for(int i = 0; i < number.length; i++){System.out.print(number[i] + " ");}}public static void quikSort(int[] array, int L, int R){int i = L;int j = R;int pivot = array[(L + R) / 2];while(i <= j){while(array[i] < pivot){i++;}while(array[j] > pivot){j--;}if(i <= j){int temp = array[i];array[i] = array[j];array[j] = temp;i++;j--;}}if(L < j){quikSort(array, L, j);}if(i < R){quikSort(array, i, R);}}}
0 0
- 排序法(整理)
- 排序模板(整理)
- 算法整理-排序(堆排序)
- 算法整理-排序(直接插入排序)
- 整理音乐(插入排序)
- 算法整理-排序(冒泡)
- 排序算法整理(一)
- 图片整理(字符串排序)
- 排序整理
- 排序整理
- 排序整理
- 排序整理
- 排序整理
- 排序整理
- 常见排序算法整理(二)----希尔排序,选择排序
- 常见排序算法整理(三)----归并排序、快速排序
- 排序算法整理(C++):插入排序、交换排序、选择排序、归并排序
- 几种常用排序法的整理
- server2008 r2 系统桌面级使用优化
- 深入分析JavaWeb Item34 -- DBUtils框架学习
- 累加直方图 Cumulative Histogram
- 三种方式获得手机屏幕的宽和高
- 日常使用 Git 的 19 个建议
- 排序法(整理)
- Android计时器TimerTask,Timer,Handler
- 基于Gabor滤波的纹理分割 Texture Segmentation Using Gabor Filters
- 为什么说fb_info->node 是设备的次设备号
- (转)onTouchEvent方法的使用
- 简单springmvc实现
- android中OrmLite数据库编程实例讲解
- 带有×的EditText
- Maven以及其Eclipse插件m2eclipse的安装