统计大串中小串出现的次数(新的解决方案) StringBuffer类 StringBuffer类的概述 我们如果 对字符串进行拼接操作 ,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而 StringBuffer 就可以解决这个问题。 线程安全的可变长度的字符序列 StringBu ...
分类:
编程语言 时间:
2020-05-01 20:55:58
阅读次数:
72
一、冒泡排序 就是两两之间?相互比较?前面的大于后面的则交换 重复这个操作。 1.交换两个变量的几种方法 二、插入排序 三、选择排序 就是先假设第一个是最小的,循环遍历,将第一个与所有的比较,当有人比他大,就把那个数的索引值换成最小索引值,再进行比较,这样每一轮都会得到一个最小值,知道length ...
分类:
编程语言 时间:
2020-04-28 20:16:48
阅读次数:
54
一:解题思路 Time:O(n^2),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: template <typename T> static void Swap(T& a,T& b) { T c(a); a=b; b=c; } template <typename T> ...
分类:
编程语言 时间:
2020-04-28 12:34:28
阅读次数:
69
1、选择排序 1 public class SelectSort<T extends Comparable> { 2 3 public void sort(T[] arr) { 4 if (arr != null && arr.length > 1) { 5 for (int i = 0; i < ...
分类:
编程语言 时间:
2020-04-27 11:42:40
阅读次数:
54
package arithmetic; import java.util.ArrayList; import java.util.Arrays; /** * @author hailu */ public class SelectionSort { public static void select ...
分类:
编程语言 时间:
2020-04-25 13:04:40
阅读次数:
68
https://www.cnblogs.com/xxtalhr/p/10787340.html def selection_sort(arr): """选择排序""" # 第一层for表示循环选择的遍数 for i in range(len(arr) - 1): # 将起始元素设为最小元素 min_ ...
分类:
编程语言 时间:
2020-04-25 12:30:05
阅读次数:
56
树的实际应用 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序属于选择排序,其最好、最坏、平均时间复杂度均为 O(nlogn) ,他也是 不稳定排序 1. 堆介绍及最大最小堆 堆是具有以下性质的完全二叉树 每个结点的值都大于或等于其左右孩子结点的值,称为大项堆 每个结点的值都小于等于其 ...
分类:
编程语言 时间:
2020-04-24 20:06:27
阅读次数:
68
/** *选择排序 * 逻辑是这样的: * 1. 先定义变量,用于记录某个值的索引,默认为最小值,从每次遍历的值开始拿 * 2. 第二层循环i+1开始,从默认最小值索引后面开始遍历,判断新的值是否小于最小值。 * 如果新的值小于最小值,将新的值的索引和最小值的索引进行替换,直到遍历结束。 * 3. ...
分类:
编程语言 时间:
2020-04-23 00:57:41
阅读次数:
93
1交换排序 1.1交换排序 冒泡排序(从前向后冒泡) 1.2交换排序 选择排序(选择排序第i个位置的元素跟后面的其他元素比较,找到比第i个元素小且最小的元素,与它进行交换) 2插入排序 2.1直接插入排序(带有标志位的) 2.2直接插入排序(不带有标志位) 2.3希尔排序 2.4归并排序 "参考博文 ...
分类:
编程语言 时间:
2020-04-21 13:22:09
阅读次数:
68
插入排序 直接插入排序,折半插入排序,2-路插入排序,希尔排序 快速排序 冒泡排序,快速排序(冒泡排序改进), 选择排序 简单选择排序,树形选择排序,堆排序 归并排序 基数排序 ...
分类:
编程语言 时间:
2020-04-20 13:41:41
阅读次数:
63