java基础 选择排序、冒泡排序、折半查找法
来源:互联网 发布:多线程socket编程java 编辑:程序博客网 时间:2024/06/05 09:41
1、选择排序
选择排序,逐次选择最大的或是最小的元素,放到起始位置或是末尾位置,直到排序完成
package sort;//选择排序/** * 选择排序 * 在未排序的数组中找到最大或最小的,存放在起始位置; * 再从剩余的未排序元素中寻找最大或最小的,然后放在末尾位置; * 以此类推,直到所有元素均排序完毕; * @author 空空 * */public class ChoiceSort {public static void main(String[] args){ int data[] = { 2, 10, 7, 19, 30, 17, 22, 5, 8, 1 }; int i,j,k,temp = 0; for(i = 0;i < data.length;i++){ k = i; for(j = i + 1;j < data.length;j++){ if(data[j] < data[k]){ k = j; } if(k != i){ temp = data[i]; data[i] = data[k]; data[k] = temp; } } } for(int num:data){ System.out.print(num+","); }} }2、冒泡排序
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,根据大小比较相邻的两个元素,如果他们的顺序不符合要求就把他们交换过来,直到目标数组排序结束。
package sort;//冒泡排序/** * 比较目标数据中相邻的两个元素,如果大小位置不符,则交换位置; * 逐次进行,直到排序完成 * @author 空空 * */public class BubbleSort {public static void main(String[] args){int[] data = {2,10,5,3,15,22,17,33,21};for(int i = 0;i < (data.length-1)/2;i++){for(int j = 0;j < data.length-1;j++){if(data[j] > data[j+1]){int temp = data[j];data[j] = data[j+1];data[j+1] = temp;}}}for(int num:data){System.out.print(num+",");}}}
3、折半查找法
package sort;/** * 必须采用顺序存储结构 * 必须按关键字大小有序排列 * @author 空空 * */public class TestBinarySearch { public static int binarySearch(int a[],int num){ int last = a.length - 1; int first = 0; while (first <= last) { int middle = (first + last)/2; if (a[middle] == num) { return middle; } else if (a[middle] > num) { last = middle - 1; } else { first = middle + 1; } } return -1; } /** * 数组查找 * 确定中间位置 * 查找目标元素,返回相应的下标位置 * @param args */ public static void main(String[] args) { int[] src = {7,14,18,21,23,29,31,35,38,42}; System.out.println(binarySearch(src, 23)); }}
0 0
- java基础 选择排序、冒泡排序、折半查找法
- Java基础—选择排序,冒泡排序和折半查找
- java 折半查找 冒泡排序 选择排序
- JAVA冒泡与选择排序,折半查找
- JAVA冒泡与选择排序,折半查找
- 选择-冒泡排序,折半查找
- Java基础04:选择排序;冒泡排序;折半查找;二位数组
- 冒泡排序 & 选择排序 & 折半查找
- 冒泡排序 选择排序 折半查找
- java-数组静态初始化、选择排序、冒泡排序、数组的折半查找、折半查找练习
- java冒泡,选择排序及折半(二分)查找
- 选择,冒泡排序,折半查找,插入
- C 【冒泡 选择排序 & 折半查找】
- 选择,冒泡,插入排序,折半查找
- 折半查找,冒泡排序
- 冒泡、选择、折半排序
- 黑马程序员——c语言基础:冒泡排序、选择排序和折半查找
- 黑马程序员_C语言基础_数组之冒泡排序、快速选择排序、折半查找
- React Native 的ES5 ES6写法对照表
- 【剑指offer】用两个栈实现队列
- 1.Windows7系统的Java8环境变量配置教程
- 饮料换购-蓝桥杯
- android 给 button 添加边框及底色
- java基础 选择排序、冒泡排序、折半查找法
- PAT (Advanced Level) 1127. ZigZagging on a Tree (30)
- 观察者模式
- 原生js实现二级联动下拉列表菜单
- Leetcode——486. Predict the Winner
- MatConvnet 初步学习(CPU&GPU)
- JAVA面向对象 Part01 零碎知识点总结
- Qtudp组播编程
- 【题解】codeforces778C Peterson Polyglot