插入排序和冒泡排序算法JAVA实现
最近在看vamei君的
纸上谈兵: 排序算法简介及其C实现
一直对算法这块理解不好,所以跟着vamei君写一写,vamei君的博客也是非常赞,也在此表示感谢~
1 package com.sort; 2 3 /** 4 * java实现几种排序 5 * @author quxiaozha 6 * 7 */ 8 9 10 public class MySort { 11 //插入排序 12 public static int[] insert_sort(int[] a){ 13 int i,j; 14 // long start,end; 15 // start=System.nanoTime(); 16 for(j = 1; j < a.length; j++){ 17 i = j-1; 18 while((i>=0)&&(a[i+1]<a[i])){ 19 swap(a, i+1, i); 20 i--; 21 } 22 } 23 // end=System.nanoTime(); 24 // System.out.println("排序使用时间:"+(end-start)+" ns"); 25 return a; 26 27 } 28 29 //冒泡排序 30 public static int[] bubble_sort(int[] a){ 31 int i,j; 32 int sign; 33 for(j=0; j<a.length-1; j++){ 34 sign = 0; 35 for(i = a.length-1; i>j; i--){ 36 if(a[i-1] > a[i]){ 37 sign = 1; 38 swap(a, i-1, i); 39 } 40 } 41 if(sign == 0){ 42 break; 43 } 44 } 45 return a; 46 } 47 48 49 public static void printArray(int[] array) { 50 for (int i = 0; i < array.length; i++) { 51 System.out.print(array[i]); 52 if (i != array.length - 1) { 53 System.out.print(","); 54 } 55 } 56 System.out.println(); 57 } 58 59 public static int[] swap(int[] a, int from, int to){ 60 // System.out.println(from+"&&&&"+to); 61 if(from<0||from>a.length-1||to<0||to>a.length-1||from == to){ 62 Exception e = new Exception("数据下标越界"); 63 try { 64 throw e; 65 } catch (Exception e1) { 66 e1.printStackTrace(); 67 } 68 } 69 int temp = a[from]; 70 a[from] = a[to]; 71 a[to] = temp; 72 return a; 73 } 74 75 public static void main(String[] args){ 76 int[] a={49,38,65,97,76,13,27,49,78,34,12,64,1}; 77 // int[] a={49,38,65}; 78 System.out.println("排序前的数组:"); 79 printArray(a); 80 81 System.out.println("插入排序后的数组:"); 82 printArray(insert_sort(a.clone())); 83 84 System.out.println("冒泡排序后的数组:"); 85 printArray(bubble_sort(a.clone())); 86 87 } 88 }
转载于:https://www.cnblogs.com/quxiaozha/p/5872683.html
插入排序和冒泡排序算法JAVA实现相关推荐
- 冒泡排序算法 Java 实现过程及详解
冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已 ...
- 冒泡排序算法 (JAVA)
冒泡排序时间复杂度那么高,为什么还有存在意义吗 如果序列是用数组保存的,那么冒泡排序的意义确实不大.但如果序列是用链表保存的话,因为冒泡排序是相邻两个元素进行比较,那么我们只需记住相邻两个元素的指针即 ...
- java语言冒泡排序法_Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等...
本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是EightAlgorithms.java文件,代码如下: import jav ...
- 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序
这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,需要的朋友可以参考下 本文实现了八个常用的排序算法:插入排序 ...
- java排序算法(插入排序,冒泡排序,选择排序)
java排序算法(插入排序,冒泡排序,选择排序) 先了解原理,然后自己跟着敲一下,加深印象 CMD编译命令:javac -encoding utf-8 SortList.java && ...
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序...
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. ...
- 【简单排序算法】:简单选择排序、直接插入排序和冒泡排序
[简单排序算法]:简单选择排序.直接插入排序和冒泡排序 简单选择排序: 原理:设所排序序列的记录个数为n.i取1,2,-,n-1,每次从所有n-i+1个记录(Ri,Ri+1,-,Rn)中找出最小的记录 ...
- 冒泡排序java代码_面试官问我插入排序和冒泡排序哪个更牛逼?
(给算法爱好者加星标,修炼编程内功) 来源:小鹿动画学编程,作者:小鹿同学 写在前边 排序对于每个开发者来讲,都多多少少知道几个经典的排序算法,比如我们之前以动画形式分享的冒泡排序,也包括今天要分享的 ...
- java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法
/** * java编程题:用Java实现一个冒泡排序算法 */ public class Test12 { public static void main(String[] args) { int[ ...
最新文章
- 因论文《致谢》走红全网的中科院博士,如今已是腾讯大佬!
- tomcat基本使用和超图基本jsp例子
- 软件测试报告重点审核点有哪些,软件测试-测试报告.doc
- 在Tomcat下http协议转https协议
- python mysql操作封装库_python封装mysq操作,进行数据库的增删改
- 不懂别瞎搞!Redis 性能优化的 13 条军规!
- python怎么导出程序_[272]如何把Python脚本导出为exe程序
- join和子查询效率_SparkSQL连接查询中的谓词下推处理(上)
- 如何终止线程的运行(C/C++)
- Bean的六种作用域
- cornell movie-dialogs corpus 康奈尔大学电影对话语料介绍及下载 可用于dialog,chatbot
- 简单说from_tensor_slices()函数
- 去掉win7快捷方式箭头及修复锁定到任务栏失效
- 什么是 promise?
- 杨强教授漫谈《西部世界》、生成式对抗网络及迁移学习
- 2023北京影视技术设备展览会
- 计算机组装机配置单2019,2019年电脑主流配置
- mybatis提示XXX字段没有getter方法
- 中国-8月两轮车市场加速增长(+7%)
- 来了来了:Revit内建模型的基础教学
热门文章
- 半径为r的均匀带电球体_半径为R的均匀带电球面,总带电量为Q,设无穷远处的电势为零,则距离球心为r(r=R)的P点处的电场强度的大小和电势为...
- 6年Java程序员年薪60W,这些年我都爬过哪些坑(2021年终总结)
- (基础)HTML文档结构知识点讲解
- 地球那么大的开放世界游戏怎么做?腾讯云高级架构师为开发者设计了一套方案
- pyecharts第十节、地图(二、中国地图)
- preg_match_all用法
- PHP foreach遍历数组(多种方式)
- Java的二十三种设计模式(原型模式(Prototype))
- URI概念的简单介绍
- linux简单快速启用web