• 手机版
  • 热门标签
  • 站点地图
  • 我要投稿
  • 广告合作
  • 联系我们
编程之家
AI导航网
  • 广告位招租
  • 广告位招租
  • 首页
  • 编程教程
  • 编程导航
  • 编程百科
  • 编程博文
  • 编程实例
  • 常见问题
  • 产品运营
  • 软件教程
  • 办公软件
  • ▸ Linux
  • ▸ Windows
  • ▸ CentOS
  • ▸ Ubuntu
  • ▸ Nginx
  • ▸ WebService
  • ▸ Scala
  • ▸ Memcache
  • ▸ Apache
  • ▸ Redis
  • ▸ Docker
  • ▸ Bash
  • ▸ Azure
  • ▸ Tomcat
  • ▸ LNMP
  • ▸ Shell
  • ▸ Ansible
  • ▸ KVM虚拟机
  • ▸ 数据结构
  • ▸ 鸿蒙系统
  • ▸ 宝塔面板
  • ▸ 服务器运维
  • ▸ 网络安全
微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
  • 编程之家
  • 数据结构
《数据结构》中缀表达式转后缀表达式
中缀表达式转后缀表达式 规则 中缀表达式a + b*c + (d * e + f) * g,其转换成后缀表达式则为a b c * + d e * f  + g * +。 转换过程需要用到栈,具体过程如下: 1)如果遇到操作数,我们就直接将其输出。 2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。 3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止
【数据结构】线性堆栈
栈也是一种很重要的数据结构,具备“先进后出”的特点。程序中的函数调用以及递归都涉及栈这一数据结构,熟悉栈有利于我们更好地理解函数的调用过程(主要是形参,局部变量以及函数的返回值)和递归算法的实现过程 1、栈的数据节点 typedef struct _Stack { int *pData; //数据域指针 int size; //栈容量 int top; //栈顶 }St
【数据结构】线性循环队列
线性队列和线性堆栈有点相似,但队列里面的数据是“先进先出”。实际应用时大多是采用循环队列,关于队列的循环实现,需要两件事情要警惕:1、检测队列是否为空;2、检测队列是否已满。下面就简单的介绍循环队列的一些基本操作 1、队列的数据节点 typedef struct _Queue { int *pData; //数据域指针 int capacity; //队列容量 int f
【数据结构】·【顺序表】
#include<iostream> #include "stdlib.h" using namespace std; const int DefaultSize=100; template<class T> class SeqList{ public: T *data; int maxSize; int last; void reSize(int newSize); SeqList
【数据结构】·【带头结点的单链表】
比较坑爹的基础啊,大把时间浪费在构造函数上,构造函数(出生决定命运!)。 自己解决的bug,感觉还不错。其实程序的核心是算法,算法建立在数据结构的基础之上。 大部分的程序员现在学的基本都是规则,而不是创造。 但掌握了规则,也能创造很多财富。 重新巩固我弱爆了的数据结构,没敲完数据结构的程序员不是好领导。 注释就不写了,可以提问,或者建议。 #include<iostream> #include<s
【数据结构】·【顺序栈】
#include<assert.h> #include<iostream> using namespace std; const int stackIncreament=20; template<class T> class SeqStack{ public: T *elements;//存放栈中元素的栈数组 int top; int maxSize; SeqStack(int sz=
【数据结构】·【链式栈】
#include<iostream> #include<assert.h> using namespace std; template<class T> struct LinkNode{ T data; LinkNode<T> * link; LinkNode(T& item,LinkNode<T> *ptr=NULL){ data=item; link=ptr; } }; t
【数据结构】·【顺序队列】
#include<iostream> #include<assert.h> using namespace std; template<class T> class SeqQueue{ public: T *elements; int total; SeqQueue(){ total=-1; elements=new T[10]; assert(elements!=NULL)
【数据结构】·【KMP算法实现】
#include<string> #include<iostream> using namespace std; int KMP(string& pat,string& str,int k,int *next){//返回pat第一次匹配到str的数组位置 int posP=0; int posT=k; int lengthP=pat.length(); int lengthT=str.le
【数据结构】·【二叉树】
搞懂递归过程,结构基本和单链表结构类似,多了个link域。其他的(计算高,返回结点)都差不多也就不敲了,实现前序建立二叉树,中序遍历。 #include<iostream> #include<stdlib.h> using namespace std; template<class T> struct BinTreeNode{ T data; BinTreeNode<T> *leftChil
【数据结构】·【图】
邻接表表示,广度优先搜索,敲了老半天,最后还是用舍友的了。实在找不到bug,有这个思想就行。 模板参数T是顶点数据类型,E是边权值数据类型。 #include <iostream> #include <string> #include<iostream> using namespace std; template <class T> class LinkNode { public: Lin
【数据结构】顺序表的增删改查
简单顺序表的增删改查实例: #include <stdio.h> #define MAX 100 typedef struct { int length; int data[MAX]; }Sqlist,*PSqlist; void initList(PSqlist p); void insertList(PSqlist p,int elem); void deleteList(PSql
【数据结构】单链表的增删改查
单链表的增删改查实例: #include <stdio.h> #include <stdlib.h> typedef struct LinkedList { int elem; LinkedList * next; }List,* PList; PList CreateLinkedList(int size); void DisplayLinkedList(PList L); void I
【数据结构】 循环单链表 约瑟夫回环问题
#include<stdio.h> #include<stdlib.h> typedef struct data { //定义一个结构体“data” int num; //用于存放人的序号 int val; //用于存放密码 }typedata; typedef struct node { //定义一个结构体(结点),其中包含一个数据域和一个指针域
【数据结构】 约瑟夫回环 代码
设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k+1个位置上的人,又从1开始报数,再报数到k的人站出来。依此重复下去,直到全部的人都站出来为止。试设计一个程序求出出列序列。   #include <stdio.h> #include <stdlib.h> typedef struct Data { Data *next;
九度OJ 1512 用两个栈实现队列 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1512 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 输入: 每个输入文件包含一个测试样例。 对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。 接下来的n行,每行输入一个队列操作: 1. PUSH X 向队列中push一个整数x
上一页3233343536373839下一页
  • • 一次彻底讲清如何处理mysql 的死锁问题
  • • MySQL 通过 Next-Key Locking 技术(行
  • • 一文彻底弄懂mysql的事务日志,undo lo
  • • Linux系统控制文件 /etc/sysctl.conf详
  • • linux命令useradd添加用户详解
  • • vi 和vim 的区别
  • • Linux系统下如何监测磁盘的使用空间
  • • linux中查看和开放端口
  • • Linux设置开放一个端口
  • • linux之ftp命令详解
  • • linux系统下实时监控进程以及定位杀死挂
  • • Linux下安装jdk8的方法
  • • 阿里云被挖矿进程wnTKYg入侵的解决方法
  • • 莫小安 CentOS7使用firewalld打开关闭防
  • • Linux中more和less命令用法
  • • linux系统里/opt目录和/usr/local目录的
  • • 如何使用Siege进行压测?
  • • 本地访问服务器的nacos地址
Nvdia显卡驱动录屏功能录制游戏
  • 友情链接:
  • 编程之家
  • -
  • 我要投稿
  • -
  • 广告合作
  • -
  • 联系我们
  • -
  • 免责声明
  • -
  • 网站地图
版权所有 © 2018编程之家闽ICP备13020303号-8
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!