java中选择排序,冒泡排序和二分法查找学习记录
2016-07-22 23:30
555 查看
就直接上代码了,要多思考才能搞得清楚,最近因为工作的事情耽误了好了,不能放弃啊!
冒泡排序的结果是:1 2 4 5 6 7 8 8 9
二分查找的结果是:
66下标是5
101下标是-1
选择排序,冒泡排序和二分法查找数据
/** * main 函数 * * @param args */ public static void main(String[] args) { int[] m = new int[] { 2, 5, 1, 4, 6, 8, 7, 9, 8 }; System.out.print("选择排序的结果是:"); XuanzePaixu(m); for (int s : m) { System.out.print(s + " "); } System.out.println(); System.out.print("冒泡排序的结果是:"); MaoPaoPaixu(m); for (int s : m) { System.out.print(s + " "); } System.out.println(); System.out.print("二分查找的结果是:"); System.out.println(); int[] n = { 11, 22, 33, 44, 55, 66, 77, 88, 99 }; System.out.println("66下标是" + SecondChaZhao(n, 66)); System.out.println("101下标是" + SecondChaZhao(n, 101)); } /** * 选择排序:依次固定每个下标,让每个固定下标中的数和后面所有的数据进行比较 * * @param m * 需要排序的数据,按大到小排序 */ public static void XuanzePaixu(int[] m) { int n; for (int i = 0; i < m.length - 1; i++) { for (int j = i + 1; j < m.length; j++) { if (m[j] > m[i]) { n = m[j]; m[j] = m[i]; m[i] = n; } } } } /** * 冒泡排序:下标相邻的两个数进行排序 * * @param m * 需要排序的数据,按由小到大排序 * */ public static void MaoPaoPaixu(int[] m) { int n; for (int i = 0; i < m.length - 1; i++) { for (int j = 0; j < m.length - 1 - i; j++) { if (m[j] > m[j + 1]) { n = m[j]; m[j] = m[j + 1]; m[j + 1] = n; } } } } /** * 二分法排序,前提:被查找的数组是有序排列的,没有该数,默认返回-1 * * @param m * 被查找的数组数据 * @param key * 需要查找的数据 * */ public static int SecondChaZhao(int[] n, int key) { int min = 0, max = n.length - 1, mid; while (min <= max) { mid = (min + max) >> 1; if (key > n[mid]) min = mid + 1; else if (key < n[mid]) max = mid - 1; else return mid; } return -1; }
输出的结果为:
选择排序的结果是:9 8 8 7 6 5 4 2 1冒泡排序的结果是:1 2 4 5 6 7 8 8 9
二分查找的结果是:
66下标是5
101下标是-1
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序