![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++数据结构
文章平均质量分 77
L丶丨
冲鸭!
展开
-
排序算法之快速排序
本文所讲排序最终结果都是从小到大排序本文使用C++代码在讲快速排序算法之前先来回忆一下冒泡排序。冒泡排序:冒泡排序是指从第一个数m开始,与第二个数n相比较,如果m > n,则将它们位置交换,目的就是要将最大的一位数移到数组最后一位。话不多说,上代码:快速排序:其中心思想就是:选择一个基数,将小于基数的元素放在基数前面,大于基数的元素放在基数后面。然后基数前、后的数再次重复此操作,不断减少子数组的长度,减小到1即可。快速排序可以将其分为两步:首先寻找一个基数,一般.原创 2020-10-31 10:19:20 · 169 阅读 · 0 评论 -
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。时间复杂度O(n)
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串 的长度。示例一:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例二:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例三:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。思路:本题用“滑动窗口”方法解答。第一步:创建一个容器(注意:创建容器要调用原创 2020-10-29 15:31:52 · 773 阅读 · 0 评论 -
已知数组A[n]的元素为整型,设计算法将其调整为两部分,左边所有元素为奇数,右边所有元素为偶数。
已知数组A[n]的元素为整型,设计算法将其调整为两部分,左边所有元素为奇数,右边所有元素为偶数。解题思路:首先设置两个下标,first 和 last,分别指向顺序表第一个和最后一个。然后做出判断:判断一:A[first]为奇数且A[last]为偶数,则 first 向后移一位,last 向前移一位。 if (a[first] % 2 == 1 && a[last] % 2 == 0) { first++; last--; continue; }判断二原创 2020-10-28 09:29:59 · 6104 阅读 · 6 评论