数据结构
文章平均质量分 89
Mr.Huang Tony
这个作者很懒,什么都没留下…
展开
-
【LeetCode链表相关】
LeetCode链表相关原创 2022-11-13 10:57:05 · 299 阅读 · 1 评论 -
探索栈与队列的关系(以《用两个栈组成队列》为例)
题目编写一个类,用两个栈实现队列,支持队列(先进先出)的基本操作:push:将一个元素置入queue中 pop:移除queue中的第一元素此函数无返回值,想处理被移除的元素,必须先调用front()调用者保证queue非空front:返回第一个被置入的元素,即返回queue最前端的元素调用者保证queue不空back:返回最后一个被插...原创 2020-01-03 14:48:43 · 143 阅读 · 0 评论 -
简单插入排序、冒泡排序、简单选择排序、二分查找、顺序查找
// FindAndSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;void pri(int data[], int len){ int i; for (i = 0; i < len; i++) { printf("%d", data[i...原创 2019-04-18 11:31:56 · 289 阅读 · 0 评论 -
剑指offer-重建二叉树、从上往下打印二叉树、序列化二叉树
二叉树的遍历、按层打印、序列化这三个操作是不一样的二叉树的遍历常用递归的形式,那前序遍历来说,先访问根结点,在访问左子树,再访问右子树,遇到空结点,直接跳过,只打印有数值的结点。因此如果只知道二叉树的前序遍历无法确定一颗二叉树,至少要有中序遍历和前序(或者后序)两个遍历顺序才能重建起这颗二叉树。二叉树的序列化与遍历相似,不同的是遇到空结点,要打印“#”以示说明。因此如果知道一个二叉树的序列...原创 2019-05-13 20:08:29 · 198 阅读 · 0 评论 -
剑指offer-链表专栏
本文是剑指offer链表专题,一般一般从尾到头打印链表题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。算法思想:建立栈来实现,将链表中所有元素都进栈后,出栈的顺序就是链表从尾到头打印的顺序。代码://链表结点定义/*** struct ListNode {* int val;* struct ListNode *next...原创 2019-05-19 15:19:55 · 235 阅读 · 0 评论 -
剑指offer-二叉树按之字形顺序打印
题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。普通二叉树队列打印算法:这道题我采用的算法是按照普通二叉树按层打印二叉树的队列思想来做的,这一段经典代码为://按层打印二叉树(队列的思想)vector<int> PrintFromTopToBottom(BiTreeNode...原创 2019-05-11 20:59:01 · 119 阅读 · 0 评论 -
剑指offer-数组中重复的数字、数组中只出现一次的数字(内含STL map讲解)
题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。算法思想:建立map映射,遍历一边数组,记录各个数字出现的次数,一旦有数字出现2次,就证明这个数字是原数组第一个重复的...原创 2019-06-05 11:45:02 · 329 阅读 · 0 评论 -
剑指offer-删除链表中重复结点
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5算法描述:这道题我是用循环遍历链表的方法来做的。设置一个新的头结点,放到第一位,以免遇到前两位或者前三位,前四位…结点相等的情况创建三个指针pre,cur和l...原创 2019-06-13 10:27:52 · 133 阅读 · 0 评论 -
C++ STL关联性容器set与map基本操作简述
欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上!在之前一篇博客C++标准库(STL)栈(stack)、队列(queue)、双向队列(deque)、容器(vector)的基本操作中,详细说明了顺序容器vector、stack、queue、deque的使用,本期来说说STL中关联性容器set与map的使用。map简述概念map是STL中很有用的容器,底层为红黑树,它提供...原创 2019-06-06 21:31:28 · 303 阅读 · 0 评论 -
剑指offer-二叉树专栏
摘要这是一个二叉树的专题,有关二叉树、完全二叉树、二叉搜索树、二叉树基本的建立与遍历等基础知识请读者参考之前的博客数据结构-二叉树第一大部分: 二叉树的输出这三个操作是不一样的二叉树的遍历常用递归的形式,那前序遍历来说,先访问根结点,在访问左子树,再访问右子树,遇到空结点,直接跳过,只打印有数值的结点。因此如果只知道二叉树的前序遍历无法确定一颗二叉树,至少要有中序遍历和前序(或者后序)...原创 2019-06-02 10:32:35 · 263 阅读 · 0 评论 -
顺序表和单链表基本操作
顺序表1、定义:顺序表是在计算机内存中以数组的形式保存的线性表。2、任务:顺序表的创建、元素删除、遍历等操作:有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:A.初始化一个空的顺序表;B.从键盘依次输入上述数据添加到顺序表中;C.删除表中的第四个数据元素;D.显示B、C操作后顺序表中的内容。#include "stdafx.h"#include<stdio...原创 2019-04-10 20:26:30 · 2124 阅读 · 0 评论 -
C++标准库(STL)中sort用法
以下为读书标记剑指offer中面试题33:把数组排成最小的数将数组中的数字转化为字符串,再使用sort函数拼接,如果a+b<b+a,那么转化为数字也应该是a在前,b在后的规则头文件#includesort(begin,end)分别是数组头地址和尾地址(默认升序)也可以用cmp函数加入sort(begin,end,cmp);例如可以这样实现升序排列bool cmp(int a ...原创 2019-03-29 15:29:54 · 831 阅读 · 0 评论 -
数据结构-二叉树
数据结构-二叉树二叉树是一种有用的数据结构原创 2019-03-17 17:54:45 · 254 阅读 · 0 评论 -
C++标准库(STL)栈(stack)、队列(queue)、双向队列(deque)、容器(vector)的基本操作
以下内容仅作为读书笔记C++标准库(STL),英文名:Standard Template Libary,是由惠普实验室开发的一系列软件的统称,是一系列标准模板的组合,比较好用。在C++标准中,STL有13个头文件,写C++程序时添加这些头文件就可以让我们方便地使用一些数据结构1、 #include //栈的头文件stackT,Type为数据类型,既可以是整形(int),浮点型(floa...原创 2019-03-22 16:31:59 · 1183 阅读 · 0 评论