数据结构与算法
文章平均质量分 69
火云咩哈哈
希望跟大家分享的同时我们一起进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java实现单链表反转
1、node类public class Node { private int data; private Node next; public Node(int data) { this.data = data; } public Node getNext() { return next; } public void setNext(Node next) {原创 2017-05-02 17:05:56 · 368 阅读 · 0 评论 -
冒泡排序之Java实现
冒泡法思路(由小到大排序):给定的整形数组的两个相邻数据进行比较,大的数组移动到后边;依次类推,遍历整个数组执行前面的操作。实现:public static void bubbleSort(int [] arr){ for(int i = 0 ; i < arr.length ; i++){ for(int j = 1 ; j < arr.length - i ; j++原创 2017-05-04 23:27:48 · 335 阅读 · 0 评论 -
插入排序之Java实现
基本思想:每一个待排序的记录,按照其大小插入到前面已经排好序的子数组中,直至数组的全部记录都插入完成。代码实现:public static void insertSort(int [] arr){ for(int i =1 ; i < arr.length ; i++){ for(int j = i-1; j>=0 ; j--){ if(arr[j] > arr[j+1]原创 2017-05-07 19:33:07 · 290 阅读 · 0 评论 -
选择排序之Java实现
实现思想:选择排序的基本思想是每一趟在n-i+1(i =1,2,3...,n-1)个记录中选取关键字最小的记录作为有序序列的第i 个记录。代码实现:public static void chooseSort(int [] arr){ for(int i = 0 ; i < arr.length ; i++){ for(int j = i+1 ; j < arr.length原创 2017-05-07 22:14:18 · 283 阅读 · 0 评论 -
希尔排序之Java实现
希尔排序思想:希尔排序其实就是将一个数组分段进行插入排序,最后再将分段序列组合在一起进行大的插入排序。也即:希尔排序是首先将数组分成若干子数组(一般子数组的个数是n/2或者n/m,n是数组长度,m是分隔间距),然后每个子数组进行插入排序;再缩减增量(一般缩减增量表达式是 k/2,k是上一次执行插入排序结束之后的子数组的长度),进行插入排序;直到子数组足够小,那么再对总的数组进行插入排序。因原创 2017-05-08 00:14:44 · 1065 阅读 · 0 评论 -
快速排序之Java实现
快速排序思想:从数组中挑选一元素作为基数(一般选数组第一个数字),然后通过排序,将比此数大的排到它 的左边,比它小的排到右边;然后再分别对左右两边的子数组进行相应排序,直到子数组的长度是1 ,排序结束。举例说明:一组数:arr = {5,9,1,3,52,13,2,8,4}选择第一个数字,5,作为基数,i = 0,j=8;(1)从数组后边开始,4比5小,那么将4,赋值给arr[0原创 2017-05-08 22:24:00 · 313 阅读 · 0 评论 -
归并排序之Java实现
归并排序思路:现先待排序数组划分成两个数组,然后再划分,直至划分后的子数组只有一个元素(一个元素的数组既是有序数组),然后再两两合并(按照顺序合并),最终形成一个完整的有序数组。所以归并排序核心有两个:两个数组合并排序成一个有序数组;一个数组怎么拆分成N个子数组。代码实现:public static void merge(int [] arr) throws Exception{原创 2017-05-08 22:37:58 · 310 阅读 · 0 评论
分享