- 博客(10)
- 收藏
- 关注
原创 数组法实现简单的栈和队列的输入输出(Java)
栈:一种先入后出的数据结构如何实现:定义“指针f”用于栈中数据的输入与输出代码实现如下public class Stack { private int [] arr=new int[10]; private int f=0; public void add(int value){ if(f==arr.length){ int [] brr=new int[arr.length]; for(int i=0;i
2021-12-06 23:01:28
469
原创 八大排序之归并排序(Java)
1.把长度为n的输入序列分成两个长度为n/2的子序列;2. 对这两个子序列分别采用归并排序;3. 将两个排序好的子序列合并成一个最终的排序序列。import java.util.Arrays;public class MergeSort { public static void main(String[] args) { int[] arr = new int[] {6,1,2,7,9,3,4,5,10,8}; merge(arr,0,arr.l
2021-12-04 11:54:47
584
原创 八大排序之基数排序(Java)
找出待排序的数组中最大和最小的元素; 统计数组中每个值为 i 的元素出现的次数,存入数组 C 的第 i 项; 对所有的计数累加(从 C 中的第一个元素开始,每一项和前一项相加); 向填充目标数组:将每个元素 i 放在新数组的第 C[i] 项,每放一个元素就将 C[i] 减去 1; import java.util.Arrays;public class RedixSort { public static void main(String[] args)..
2021-12-04 11:50:16
241
原创 八大排序之快速排序(Java)
选取第一个数为基准 将比基准小的数交换到前面,比基准大的数交换到后面 对左右区间重复第二步,直到各区间只有一个数 import java.util.Arrays;public class QuickSort { public static void main(String[] args) { int[] arr = new int[] {67,1,24,47,9,35,4,53,10,8}; quickSort(ar...
2021-12-04 11:45:55
103
原创 八大排序之堆排序(Java)
将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区;将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,……Rn-1)和新的有序区(Rn),且满足R[1,2…n-1]<=R[n];由于交换后新的堆顶R[1]可能违反堆的性质,因此需要对当前无序区(R1,R2,……Rn-1)调整为新堆,然后再次将R[1]与无序区最后一个元素交换,得到新的无序区(R1,R2….Rn-2)和新的有序区(Rn-1,Rn)。不断重复此过程直到有序区的元素个数为n-1,则整个排序
2021-12-04 11:44:15
308
原创 八大排序之冒泡排序(Java)
对存放原始数组的数据,按照从前往后的方向进行多次扫描,每次扫描都称为一趟。当发现相邻两个数据的大小次序不符合时,即将这两个数据进行互换,如果从小大小排序,这时较小的数据就会逐个往前移动,好像气泡网上漂浮一样。冒泡排序的特点:升序排序当中每一轮比较会把最大的数沉到最底(这里以从小到大为例),所有相互比较的次数每一轮会比前一轮少一次。下面为代码实现:import java.util.Arrays;public class bubbleSort { public stat..
2021-12-04 11:41:31
81
原创 八大排序之插入排序(Java)
它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = new int[]{5, 6, 7, 2, 1, 23, 32, 0};
2021-12-04 11:39:31
86
原创 八大排序之选择排序(Java)
它的基本思想是:第一次从arr[0到]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。import java.util..
2021-12-04 11:37:32
64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人