![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
文章平均质量分 50
zcl9796
这个作者很懒,什么都没留下…
展开
-
LeetCode24、两两交换链表中的节点
24、两两交换链表中的节点1、题目描述2、图解思路(图解)3、代码实现1、题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]2、图解思路(图解)做了四种情况下的分析如下:根据以上四种情况发现从第三种第四种情况中的第三第四步就回到了第一二原创 2021-05-20 17:24:00 · 99 阅读 · 0 评论 -
LeetCode之旋转链表
一、题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例 2:输入: 0->1->2原创 2020-07-27 00:31:16 · 131 阅读 · 0 评论 -
僵尸,孤儿进程
- 使用代码模拟实现僵尸进程, 孤儿进程的场景. 先看下面的代码 #include<stdio.h> 2 #include<unistd.h> 3 #include<errno.h> 4 #include<string.h> 5 #include&原创 2018-09-13 21:38:40 · 147 阅读 · 0 评论 -
AVLTree
AVLTree1、定义二叉搜索树虽然可以缩短查找效率,但是如果给定的数据已经是有序或接近有序二叉搜索树将退化为单支树,当查找元素相当于在顺序表中搜索元素,此时,二叉搜索树起不到快速查找元素的作用。因此,当向二叉搜索树插入新节点后,保证每个节点的左右子树的高度差不超过1,超过1时需要调整树的高度...原创 2019-01-24 15:41:41 · 195 阅读 · 0 评论 -
剑指offer之二叉树的镜像
一、题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5二、思路生成的二叉镜像树,需要不断在原树进行查找遍历位置,树的结构比较复杂,不易进行遍历...原创 2019-01-25 13:32:25 · 132 阅读 · 1 评论 -
剑指offer之两个栈实现一个队列
一、题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。二、图解三、代码实现class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()) ...原创 2019-01-26 16:14:06 · 147 阅读 · 0 评论 -
LeetCode-692-前K个高频单词
前K个高频单词一、题目描述给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单...原创 2019-01-16 10:44:42 · 1378 阅读 · 0 评论 -
二叉搜索树
二叉搜索树文章目录二叉搜索树4.1.1 二叉搜索树的概念4.1.2 二叉搜索树操作1、二叉搜索树的查找2、二叉搜索树的插入a、树为空,则直接插入b、树不空,按二叉搜索树性质查找插入位置,插入新节点3、二叉搜索树的删除4.1.3 二叉搜索树的实现4.1.4 二叉数的性能分析4.1.1 二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 1)若它的...原创 2019-01-22 13:26:47 · 443 阅读 · 0 评论 -
剑指offer之二维数组中的查找
文章目录一、题目描述二、思路三、代码一、题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二、思路数组的每个元素都是依次递增的,先对当前行的最后元素进行比较,如果较大就不需要在当前行进行比较,较小再依次比较,直到找到目标数。三、代码cla...原创 2019-03-15 16:46:29 · 137 阅读 · 0 评论 -
剑指offer之数的子结构
文章目录 一、题目描述二、代码及理解三、个人总结及感受 一、题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)二、代码及理解子树的可能: 判断是否是子树,当pRoot1和pRoot2一起递归遍历,pRoot2如果遍历结束说明就是子树,如果没有遍历结束,说明不是子树。class Solution {public: ...原创 2019-03-15 18:56:22 · 124 阅读 · 0 评论 -
剑指offer之包含min函数的栈
文章目录一、题目描述二、思路三、代码实现一、题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))二、思路定义两个栈s1,s2,s1存的是整个数据,s2栈存的数据保证每一次入数据都比上一次的数据要小,到最后时就是最小的数据。三、代码实现class Solution {public: stack<int> s1...原创 2019-03-26 23:53:50 · 100 阅读 · 0 评论 -
LeetCode和剑指offer之删除链表中的重复元素
文章目录一、题目描述二、思路三、代码表示一、题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现示例 1:示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5 的数字。示例 2:输入: 1->1->1->2->3输出: 2->3二、思路根据题目...原创 2019-04-17 15:55:25 · 632 阅读 · 0 评论 -
动态规划之年终奖
一、题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值...原创 2019-06-19 00:05:15 · 139 阅读 · 0 评论 -
剑指offer之二叉树中和为某一值的路径
文章目录一、题目描述二、思路三、代码一、题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)二、思路利用递归的思路,遍历二叉树的左右子树,判断从根节点走到叶子节点所经过的val和是否为给定的值。三、代码/*struct Tree...原创 2019-07-18 17:03:18 · 60 阅读 · 0 评论 -
ptrace追踪
https://www.cnblogs.com/tangr206/articles/3094358.html转载 2019-07-24 16:11:34 · 121 阅读 · 0 评论 -
进程
一、描述进程-PCB● 进程信息被放在一个叫做进程控制块的数据结构中,表示的是进程的集合体。● 在Linux操作系统下的PCB是task_struct● task_struct 是Linux下内核的数据结构,它会被装载到内存里并包含着进程的信息二、进程 ● 标识符:描述本进程的唯一标识符,用来区别其他进程 ● 状态:任务状态,退出代码,退出信号等。 ● 优先级:相对于其他进程的优先...原创 2018-10-23 18:07:41 · 109 阅读 · 0 评论 -
继承
一、什么是继承? **浅显的说,继承就是父类的公有(public)可见的部分,子类会继承父类公有的成员** **举个栗子:**class Person{public: void Display() { cout &amp;lt;&amp;lt; &quot;this is person&quot;&amp;lt;&amp;lt; endl; }protect原创 2018-10-18 18:34:13 · 131 阅读 · 0 评论 -
扫雷
test.c#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"void menu1(){ printf("*********************************************\n"); printf("************1.play 0.exit******************\n");原创 2017-12-08 16:38:27 · 200 阅读 · 0 评论 -
三子棋游戏
三子棋游戏 game.h#ifndef ____game__h___#define ____game__h___#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#define ROW 3#define COL 3void InitBoard(char board[ROW][COL], in原创 2017-12-07 15:51:35 · 150 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-11-27 21:55:47 · 215 阅读 · 0 评论 -
static具体解释
static 修饰变量 全局变量—————改变了链接属性(由外到内)——-改变了作用域 局部变量—————改变了生命周期 修饰函数 —————改变了链接属性(由外到内)“` eg:text.c #include原创 2017-11-27 22:21:42 · 188 阅读 · 0 评论 -
通讯录1
#include<stdio.h>#include<assert.h>#include<windows.h>#pragma warning(disable:4996)struct Stu { char name[8] ; char sex[2]; int age; char add[100]; long long...原创 2018-03-18 22:16:07 · 366 阅读 · 0 评论 -
单链表
SListNode.h#pragma oncetypedef int DataType;typedef struct SListNode{ struct SListNode*_next; DataType _data;}SListNode;SListNode* BuySListNode(DataType x);void SListPrint(SListNode* ...原创 2018-03-31 18:23:04 · 79 阅读 · 0 评论 -
顺序表
Seqlist.h#pragma once #define N 10typedef int DataType;typedef struct SeqList{ DataType _a[N]; size_t size;}SeqList;//初始化尾插、删 头插、删void SeqlistInit(SeqList *pSeq);void SeqlistPushBack(...原创 2018-03-31 18:37:29 · 84 阅读 · 0 评论 -
堆
heap.c`#include"Heap.h"void HeapInit(Heap* hp, HeapDateType* a, size_t n)//初始化{ if (a == NULL) { return; } hp-&gt;_size = 0; hp-&gt;_a = (HeapDateType*)malloc(sizeo...原创 2018-05-05 22:15:44 · 156 阅读 · 0 评论 -
C语言实现简单的哈希表
test.c#include<stdlib.h>#include<windows.h>#include<assert.h>#include"HashTable.h"int main(){ test(); system("pause"); return 0;}HashTable.c#include<asse...原创 2018-05-20 14:11:50 · 1203 阅读 · 0 评论 -
贪吃蛇
UI.h#include<stdio.h>#include<time.h>#include<windows.h>#include<stdlib.h>#include"snake.h"void Pos(int x, int y)//设置光标位置{ COORD pos; HANDLE hOutput; pos.X...原创 2018-05-16 10:47:32 · 229 阅读 · 1 评论 -
C++入门
1、什么是C++ C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。2...原创 2018-06-09 15:11:09 · 460 阅读 · 0 评论 -
双向链表
DList.c#include"DList.h"DListNode* BuyDListNode(DataType x){ DListNode *newnode = (DListNode*)malloc(sizeof(DListNode)); assert(newnode); newnode->_data = x; newnode->_next = NULL; newn...原创 2018-09-19 21:36:07 · 100 阅读 · 0 评论 -
创建一个属于自己的shell
1 /*写一个属于自己的微型myshell 2 * 功能:myshell>ls 3 * 能够执行基础Linux 命令 4 * 5 */ 6 #include<stdio.h> 7 #include<unistd.h> 8 #include<errno.h> 9 #i...原创 2018-09-20 13:11:52 · 1485 阅读 · 0 评论 -
多态
多态调用需要满足:1、虚函数的重写,2、对象时基类的指针或引用,当满足这两点时才说明是多态。虚函数—类的成员函数前面加上virtual关键字,则这个成员函数成为虚函数。虚函数重写—子类定义了与父类相同的虚函数时,则就称子类重写了父类的这个虚函数。先来一段代码:#include&lt;iostream&gt;#include&lt;Windows.h&gt;using namespace...原创 2018-09-22 00:11:03 · 105 阅读 · 0 评论 -
三子棋
game.c#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"void InitBoard(char board[ROW][COL], int row, int col){ memset(board, ' ', row*col * sizeof(board[0][0]));}void PrintBoard(char board[RO原创 2017-12-08 16:34:21 · 124 阅读 · 0 评论