java代码测试---插入排序和选择排序
1 public class QuickSort { 2 3 //插入排序 4 //插入前的序列是排序好的,将新插入的数值与之前的数值比较 5 //直到找到合适的位置 6 public static int[] quickSort(int[] arr){ 7 8 for(int j=1;j<arr.length;j++){ 9 int key = arr[j]; 10 int i = j-1; 11 12 while(i>=0 && arr[i]<key){ 13 arr[i+1] = arr[i]; 14 i = i -1; 15 arr[i+1] = key; 16 } 17 } 18 19 return arr; 20 } 21 22 //查询一个值V是否在数组内,如果在数组内输出下标,否则输出‘NIL’ 23 public static String quickSortIn(int[] arr,int V){ 24 List<Integer> list = new ArrayList<Integer>(); 25 for(int i = 0;i<arr.length;i++){ 26 if(V == arr[i]){ 27 list.add(i);//如果V在数组内,将下标存入list 28 } 29 } 30 31 if(list != null && !list.isEmpty()){//如果list不为空,循环输出 32 33 StringBuilder str = new StringBuilder(""); 34 for(int i = 0; i < list.size(); i++){ 35 str.append("V = "+"arr["+list.get(i)+"] "); 36 } 37 return str.toString(); 38 39 }else{//如果list为空,输出‘NIL’ 40 return "NIL"; 41 } 42 } 43 44 //选择排序 45 public static void selectSort(int[] a) { 46 int i; // 有序区的末尾位置 47 int j; // 无序区的起始位置 48 int min; // 无序区中最小元素位置 49 50 for(i=0; i<a.length; i++) { 51 min=i; 52 53 // 找出"a[i+1] ... a[n]"之间的最小元素,并赋值给min。 54 for(j=i+1; j<a.length; j++) { 55 if(a[j] < a[min]) 56 min=j; 57 } 58 59 // 若min!=i,则交换 a[i] 和 a[min]。 60 // 交换之后,保证了a[0] ... a[i] 之间的元素是有序的。 61 if(min != i) { 62 int tmp = a[i]; 63 a[i] = a[min]; 64 a[min] = tmp; 65 } 66 } 67 } 68 69 //查询数组的最大值 70 public static int selectMax(int[] arr){ 71 int max = arr[0]; 72 for(int i =0;i<arr.length;i++){ 73 if(arr[i]>max){ 74 max = arr[i]; 75 } 76 } 77 return max; 78 } 79 80 //查询数组的最小值 81 public static int selectMin(int[] arr){ 82 int min = arr[0]; 83 for(int i =0;i<arr.length;i++){ 84 if(arr[i]<min){ 85 min = arr[i]; 86 } 87 } 88 return min; 89 } 90 91 92 public static void main(String[] args) { 93 int[] aaa = {1,5,2,3,4,55,11,22,33,4,22,1}; 94 int[] bbb = {31,41,59,26,41,58}; 95 selectSort(bbb); 96 for(int a : bbb){ 97 System.out.print(a+" "); 98 } 99 System.out.println(); 100 System.out.println(quickSortIn(bbb,41)); 101 System.out.println(selectMin(bbb)); 102 } 103 }
转载于:https://www.cnblogs.com/maduar/p/4495705.html
java代码测试---插入排序和选择排序相关推荐
- 插入排序、选择排序、快速排序以及归并排序(附Python代码)
排序算法基本原理以及复杂度等知识点可跳转至该博客了解https://www.cnblogs.com/onepixel/p/7674659.html ,本博客主要对排序算法性能进行对比以及记录对比过程发 ...
- 排序算法:冒泡排序、插入排序、选择排序、希尔排序
相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 一.冒泡排序: 1.算法原理: 冒 ...
- python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序
注:这里所有排序操作都以从小到大排列为例,想要从大到小排的自行修改代码即可 目录 一.冒泡排序 思路: 步骤: 解析: 二.快速排序 思路: 步骤: 代码: 三.插入排序 思路: 代码: 四.选择排序 ...
- [数据结构]用插入排序和选择排序的思想实现优先级队列
一.问题概述 优先级队列的定义: 优先级队列不同于普通的队列,普通的队列具有先进先出的原则,而优先级队列是选择优先级最高的先出队.那么,如何模拟实现优先级队列呢?在这里,我们将较大的值作为优先级较高的 ...
- 数据结构与算法:冒泡排序、插入排序、选择排序
排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序.睡眠排序.面条排序等.本文只众多排序算法中的一小撮,也是最经典的.最常用的:冒泡排序.插入排序.选择排序.归并排序.快速排序.计数排序.基数 ...
- libsvm java 实例_LibSvm流程及java代码测试
使用libSvm实现文本分类的基本过程,此文参考 使用libsvm实现文本分类 对前期数据准备及后续的分类测试进行了验证,同时对文中作者的分词组件修改成hanLP分词,对数字进行过滤,仅保留长度大于1 ...
- 请插入多卷集的最后一张磁盘_聊一聊插入排序和选择排序
简介 插入排序和比较排序是排序算法中比较基础和简单的两种,其时间复杂度均为 ,在分析算法时间复杂度时,我们往往会只会分析比较开销,但是交换开销也确实存在.这里我将综合比较开销和交换开销,来分析一下插入 ...
- 简单的Java代码测试样例设计
简单的Java代码测试样例设计 函数一 public static int findLast(int[] x, int y) {for (int i = x.length - 1; i > 0; ...
- Java冒泡排序原理速记,选择排序原理速记
Java冒泡排序原理速记,选择排序原理速记 冒泡排序原理分析: 冒泡排序从左往右两两比较:保护右边的排序好的元素(比较直接交换元素). 选择排序原理: 选择排序从左往右依次比较:保护左边排序好的元素( ...
最新文章
- linux 硬链接和软链接
- 使用async关键字进行TCP server的连接
- Flutter——限制TextField只能输入汉字或英文字母或数字,并限制输入最多中文10字符,英文20字符
- yolov3中如何进行聚类得到anchor box的
- SOA的关键是什么?
- [转载]JXTA Platform JAVA参考实现源代码分析系列文章(2)
- 2008 r2 php mysql_Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
- Java毕业设计-疫情防控系统
- 全面理解 DNS 及 HTTPDNS
- 第一篇 -- 《每天读一点经济学常识 》 --于台风
- 训练深度学习模型时电脑自动重启
- 传统安防企业资本运作:找准定位、创新为本
- [转载] 七龙珠第一部——第111话 龟仙人最后的魔封波
- python图片水印
- 读书笔记:读《知道做到》学“知行合一”
- python 将小图放入较大的白色或黑色背景图片
- 【Python】用OpenCC将繁体字转为简体字
- 前端保留两位有效数字_js保留两位小数方法总结
- java 手机验证码
- LTE TDD在未来4G技术标准中的位置
热门文章
- nodejs-- vuex中mapActions
- 【实数二分/前缀和维护】Best Cow Fences
- NVIDIA助力SiemensPLMSoftware“工业4.0创新实验室”,携手推进中国制造创新之路
- vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法
- 2016年学习Linux决心书(老男孩教育在线课程班第二期)
- HTML5实现Word中文字全环绕图片效果
- 多处理机的进程调度方式
- jupyter notebook代码导出_Jupyter Notebook导出包含中文的pdf_亲测有效
- Python 内置模块之 时间模块 datetime
- 特别慢_背什么都特别慢,该怎么提高记忆力?