视图动画学习算法和数据结构(一)(<Garry进阶(四)>)
来源:互联网 发布:java reflection 编辑:程序博客网 时间:2024/06/15 02:07
转载请注明原出处:http://blog.csdn.net/lrs123123/article/details/43114619
这是一个写给自己复习温习的博文,不喜勿喷
一、排序板块
①冒泡排序(BubbleSort)
动画展示:
java代码:
public class BubbleSort {public static void main(String[] args) { int unsortNums[] = { 3, 12, 17, 33, 2, 14, 1}; System.out.println("\n最终结果:"+Arrays.toString(BubbleSort(unsortNums)));} public static int[] BubbleSort(int[] arr){ int temp; for(int i=0; i < arr.length-1; i++){ for(int j=1; j < arr.length-i; j++){ if(arr[j-1] > arr[j]){ temp=arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } } System.out.println((i+1)+"th 排序结果: "+Arrays.toString(arr)); } return arr; }}
Eclipse运行结果
②选择排序(SelectSort)
动画展示:
java代码:
public class SelectSort {public SelectSort() {}; // 无参构造public static int[] selectSort(int[] attr) { // 返回int数组的构造for (int i = 0; i < attr.length - 1; i++) {int smallNum = i;for (int j = i + 1; j < attr.length; j++) {if (attr[j] < attr[smallNum]) {smallNum = j;}}int temp = attr[i];attr[i] = attr[smallNum];attr[smallNum] = temp;System.out.println((i + 1) + "th 排序结果: " + Arrays.toString(attr));}return attr;}public static void main(String[] args) {SelectSort selectSort = new SelectSort();int[] unsortNums = { 3, 12, 17, 33, 2, 14, 1 };System.out.println("\n最终结果:" + Arrays.toString(selectSort(unsortNums)));}}
Eclipse运行结果
③插入排序(InsertionSort)
动画展示:
java代码:
public class InsertionSort {public static void main(String[] args) {int[] unsortNums = { 4, 2, 9, 6, 23, 12, 34, 0, 1 };insertionSort(unsortNums);}private static int [] printNumbers(int[] input) {for (int i = 0; i < input.length; i++) {}return input;}public static void insertionSort(int array[]) {int n = array.length;for (int j = 1; j < n; j++) {int key = array[j];int i = j - 1;while ((i > -1) && (array[i] > key)) {array[i + 1] = array[i];i--;}array[i + 1] = key;printNumbers(array);System.out.println("第"+(j-1) + "次排序结果: " + Arrays.toString(array));}System.out.println("\n最终结果:" + Arrays.toString(printNumbers(array)));}}
Eclipse运行结果
③归并排序(MergeSort)
动画展示:
java代码:
public class MergeSort {private int[] array;private int[] tempMergArr;private int length;private void mergeParts(int lowerIndex, int middle, int higherIndex) {for (int i = lowerIndex; i <= higherIndex; i++) {tempMergArr[i] = array[i];}int i = lowerIndex;int j = middle + 1;int k = lowerIndex;while (i <= middle && j <= higherIndex) {if (tempMergArr[i] <= tempMergArr[j]) {array[k] = tempMergArr[i];i++;} else {array[k] = tempMergArr[j];j++;}k++;}while (i <= middle) {array[k] = tempMergArr[i];k++;i++;}System.out.println("第"+(j-1) + "次排序结果: " + Arrays.toString(array));}public static void main(String a[]) {int[] inputArr = { 45, 23, 11, 89, 77, 98, 4, 28, 65, 43 };MergeSort mms = new MergeSort();mms.sort(inputArr);for (int i : inputArr) {}System.out.println("\n最终结果:" + Arrays.toString(inputArr));}public void sort(int inputArr[]) {this.array = inputArr;this.length = inputArr.length;this.tempMergArr = new int[length];doMergeSort(0, length - 1);}private void doMergeSort(int lowerIndex, int higherIndex) {if (lowerIndex < higherIndex) {int middle = lowerIndex + (higherIndex - lowerIndex) / 2;// 先排序左半部分数组doMergeSort(lowerIndex, middle);// 排序右半部分数组doMergeSort(middle + 1, higherIndex);// 合起来排序额哈哈mergeParts(lowerIndex, middle, higherIndex);}}}
Eclipse运行结果
//2015/2/23第二次更新
动画学习算法和数据结构第二波
还有栈,数组,树,链表,队列,图,二分分配,网络流等需要以后慢慢学习,先到这 2015-2-23
0 0
- 视图动画学习算法和数据结构(一)(<Garry进阶(四)>)
- 视图动画学习算法和数据结构(二)(<Garry进阶(四)>)
- ViewPager 和 ActionBarSherlock 的使用 <Garry进阶(一)>
- Android动画学习-视图动画&属性动画(一)
- 四、ValueAnimator属性动画高级进阶(一)
- python进阶(数据结构和算法[1])
- python进阶(数据结构和算法[二])
- python进阶(数据结构和算法[三])
- 数据结构学习四(KMP算法实现)
- Android动画(一)-视图动画
- 数据结构和算法总结(四)
- Core Animation 一 (视图动画和用户交互)
- 【Garry逆袭数据结构】之 链表 知识点学习--Android地基系列(一)
- js数据结构和算法(四)图和图算法
- 数据结构学习(四)
- 数据结构及算法学习(一)
- 视图学习(一)
- 视图学习(一)
- Nginx安装
- MapReduce多个作业协调处理
- 函数调用子函数,注意子函数的位置
- Stl相关链接
- SQLite中的高级SQL
- 视图动画学习算法和数据结构(一)(<Garry进阶(四)>)
- Java与php在Web方面的比较
- Sql Server之旅——第四站 你必须知道的非聚集索引扫描
- PlagueScanner: An Open Source Multiple AV Scanner
- Boost相关链接
- 开启Windows 7远程桌面功能的做法
- Ubuntu搭建svn服务器(Subversion+Apache配置)
- java 异常捕获注意事项
- WIN32界面开发之四:CPaintManagerUI类构建