JavaSE学习(8) 排序
来源:互联网 发布:端游发展史 知乎 编辑:程序博客网 时间:2024/06/10 20:20
1)内部排序:
将需要处理的所有数据都加载到内部存储器中进行排序
交换式排序法、选择式排序法和插入式排序法
2)数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。
合并排序和直接合并排序
排序:就是把一组记录(元素)按照某个域的值递增或递减的次序重新排列的过程。
交换式排序:
属于内部排序,运用数据值比较,依判断规则对数据位置进行交换,以达到排序的目的。
1、冒泡排序
2、快速排序
冒泡排序:
package com.test1;public class Demo5_3 {public static void main(String[] args) {// TODO Auto-generated method stubint arr[]={1,6,0,-1,9};int a=12;//创建一个Bubble类Bubble bubble=new Bubble();bubble.sort(arr);bubble.test(a);System.out.println(a);}}class Bubble{//测试public void test(int a){a++;}//排序方法public void sort(int arr[]){int temp=0;//排序//外层循环,它决定一共走几趟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]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}//输出最后结果for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}}}选择排序:
class Select{//选择排序public void sort(int arr[]){int temp=0;for(int j=0;j<arr.length;j++){//认为第一个数就是最小的int min=arr[j];//记录最小数的下标int minIndex=j;for(int k=j+1;k<arr.length;k++){if(min>arr[k]){//修改最小值min=arr[k];minIndex=k;}}//当退出for就找到这次的最小值temp=arr[j];arr[j]=arr[minIndex];arr[minIndex]=temp;}for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}}}
0 0
- JavaSE学习(8) 排序
- JavaSE学习(8) 排序、查找
- JavaSE 学习参考:数组排序
- JAVASE总结--冒泡排序
- JavaSE 数组排序
- javaSE基础-数组排序
- JavaSE:冒泡法排序
- JavaSE基础数组排序
- JavaSE 直接选择排序
- [javase]插入排序
- JavaSE 8 :Lambda 快速学习(一)
- JavaSE 8 :Lambda 快速学习(二)
- JavaSE 8 :Lambda 快速学习(三)
- JAVASE学习笔记第8天
- javase学习之JavaSE环境安装
- JavaSE第一阶段总结冒泡排序
- JavaSE第一阶段总结选择排序
- javaSe算法之冒泡排序
- javascript学习(四)表达式与运算符
- 序列、索引
- 【nova】nova resize,通过数据库修改flavor绕过迁移
- Kafka集群配置
- 【Spring】Spring高级话题-@Enable***注解的工作原理
- JavaSE学习(8) 排序
- laravel框架中使用QueryList插件采集数据
- 安装 Android_JDK遇到的问题(32位ubuntu16.4)
- 实习第四天
- 公共字符串长度问题求解——华为OJ题目
- 2016/12/8 1004. 寻找第k大数字(numberk)
- JVM调优总结(1):基本垃圾回收算法
- SSL JudgeOnline 1296——x^n次幂
- linux 创建连接命令 ln -s 软连接