刷新
数据结构 Stack 栈 -- C语言实现

博主头像 目录栈栈的概念顺序栈代码实现Stack.hStack.c 栈 栈的概念 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/ ...

数据结构 顺序表 -- C语言实现

博主头像 目录顺序表概念代码实现动态顺序表SeqLish.hSeqList.c线性表区分 顺序表 概念 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存 储。在数组上完成数据的增删查改。 顺序表一般可以分为: 静态顺序表:使用定长数组存储元素。 动态顺序表:使用动态开辟的数 ...

数据结构 链表 -- C语言实现

博主头像 目录链表链表的概念链表的分类代码实现无头单向非循环链表SingleLink.hSingleLink.c带头双向循环链表DoubleLink.hDoubleLink.cnull 链表 链表的概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 ...

顺序与链式二叉树的原理、应用与实现(万字长文)

博主头像 目录一、树概念及结构树的概念树的相关概念树的表示二、二叉树概念及结构概念特殊的二叉树二叉树的性质二叉树的存储结构三、二叉树的顺序结构及实现二叉树的顺序结构堆的概念及结构堆的作用:堆的性质:计算孩子与父亲的下标关系1. 通过父亲得到左右孩子的下标2. 通过孩子找到父亲的下标如何得知自己是左孩子还是右孩 ...

代码随想录Day6

博主头像 242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: ...

数据结构-3.单向链表的实现

博主头像 节点结构体设计 struct LinkNode { // 数据域 void* data; // 指针域 struct LinkNode * next; }; data:一个 void* 类型的指针,指向节点存储的数据。使用 void* 是为了链表能够存储不同类型的数据。 next:一个指向下一个 L ...

代码随想录Day4

博主头像 24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: ...

「LeetCode Top100」之哈希篇

博主头像 1. 两数之和 题目链接:https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-liked 解题状态:通过 标签:数组、哈希表 思路: 通过创建一个哈希表来保存数组中的元素,每当遍历 ...

AtCoder Beginner Contest 365

博主头像 A - Leap Year (abc365 A) 题目大意 给定年份,判断该年是否是闰年。 解题思路 根据闰年的两个条件,注意判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long; int mai ...

代码随想录Day3

博主头像 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:hea ...

2.线性结构(下)——栈和队列

博主头像 线性结构(下):栈和队列 1.栈 只允许在一端插入和删除的线性表 允许插入和删除的一端称为栈顶 (top),另一端称为栈底(bottom) 特点:后进先出,LIFO(Last In First Out) 栈的基本抽象数据类型实现: template <class E> class Stack { p ...

<1···678···29>