![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 74
可爱豆麻薯
欢迎来到我的世界!
展开
-
一锅排序之第二碗——选择排序
1、基本思想每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。(1)在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素(2)若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换(3)在剩余的array[i]--array[n-2](array[i+1]--array[n-1])集合中,重复上述步骤,直到集合剩余1个元素2、实现void Sele.原创 2022-05-08 18:13:53 · 581 阅读 · 46 评论 -
一锅排序之第一碗——插入排序
直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。其实在生活中,我们身边有很多的类似直接插入排序的例子,比如,玩扑克的时候,我们就采用了直接插入的方法,我们摸牌的时候是一张一张的摸,每摸一张就会在原来有序的基础上把它插入到相应的位置,继续保持有序。...原创 2022-05-02 11:10:28 · 854 阅读 · 70 评论 -
栈和队列讲解
目录1、栈(1)栈的概念及结构(2)栈的实现2、队列(1)队列的概念及结构(2)队列的实现前言:栈和队列是在顺序表和链表的延伸,如果前面的顺序表和链表你已经掌握了的话,栈和队列对你来说应该就是小菜一碟了。1、栈(1)栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈..原创 2022-04-05 14:48:18 · 2425 阅读 · 103 评论 -
链表OJ(下)
前言:上次链表OJ开了个素,这次直接上荤菜,让你回味无穷!1、链表分割链接:牛客:链表分割题目:题解:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/class Partition {public: ListNode* partition(ListNode* pHead, int x) {原创 2022-03-26 23:14:01 · 1355 阅读 · 64 评论 -
数据结构---单链表
前言:单链表是后面要学的双链表以及循环链表的基础,要想继续深入了解数据结构以及C++,我们就要奠定好这块基石!接下来就和我一起学习吧!这里我们来简单实现单链表的增删查找。头文件...原创 2022-03-20 11:16:46 · 2237 阅读 · 69 评论 -
链表OJ(上)
前言:上次学习了单链表的增删查改,这次我们就先拿几道OJ题来试试手。1、移除链表元素https://leetcode-cn.com/problems/remove-linked-list-elements/description/原创 2022-03-24 17:51:26 · 2544 阅读 · 48 评论