手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
Linux
Windows
CentOS
Ubuntu
Nginx
WebService
Scala
Memcache
Apache
Redis
Docker
Bash
Azure
Tomcat
LNMP
Shell
Ansible
KVM虚拟机
数据结构
鸿蒙系统
宝塔面板
服务器运维
网络安全
编程之家
数据结构
【数据结构】·【图】
邻接表表示,广度优先搜索,敲了老半天,最后还是用舍友的了。实在找不到bug,有这个思想就行。 模板参数T是顶点数据类型,E是边权值数据类型。 #include <iostream> #include <string> #include<iostream> using namespace std; template <class T> class LinkNode { public: Lin
作者:编程之家 时间:2019-06-22
【数据结构】顺序表的增删改查
简单顺序表的增删改查实例: #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
作者:编程之家 时间:2019-06-22
【数据结构】单链表的增删改查
单链表的增删改查实例: #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
作者:编程之家 时间:2019-06-22
【数据结构】 循环单链表 约瑟夫回环问题
#include<stdio.h> #include<stdlib.h> typedef struct data { //定义一个结构体“data” int num; //用于存放人的序号 int val; //用于存放密码 }typedata; typedef struct node { //定义一个结构体(结点),其中包含一个数据域和一个指针域
作者:编程之家 时间:2019-06-22
【数据结构】 约瑟夫回环 代码
设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k+1个位置上的人,又从1开始报数,再报数到k的人站出来。依此重复下去,直到全部的人都站出来为止。试设计一个程序求出出列序列。 #include <stdio.h> #include <stdlib.h> typedef struct Data { Data *next;
作者:编程之家 时间:2019-06-22
九度OJ 1512 用两个栈实现队列 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1512 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 输入: 每个输入文件包含一个测试样例。 对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。 接下来的n行,每行输入一个队列操作: 1. PUSH X 向队列中push一个整数x
作者:编程之家 时间:2019-06-22
【数据结构】双链表的演示
双链表 实现增加、删除、修改功能 #include <stdio.h> #include <stdlib.h> typedef struct Data { Data *prior; // 前驱指针 Data *next; // 后继指针 int elem; // 数据元素 }DoubleLinked,*PDoubleLinked; void
作者:编程之家 时间:2019-06-22
【数据结构】 双循环链表代码演示
#include <stdio.h> #include <stdlib.h> typedef struct Data { Data *prior; // 前驱指针 Data *next; // 后继指针 int elem; // 数据元素 }DoubleLinked,*PDoubleLinked; void DisDoubleLinked(P
作者:编程之家 时间:2019-06-22
九度OJ 1366 栈的压入、弹出序列 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1366 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 输入: 每个测试案例包括3行:
作者:编程之家 时间:2019-06-22
【数据结构】 简单静态顺序栈的操作
/*** 顺序栈 InitStack ( &S) : 栈的初始化 DestoryStack(&S) : 销毁栈S Push ( &S, e) :进栈 Pop (&S ) : 出栈 GetTop (S ): 取栈顶元素 IsEmpty (S): 判栈空否 ***/ #include <stdio.h> #include <stdlib.h> #define STACK_MAX 1000 ty
作者:编程之家 时间:2019-06-22
【数据结构】动态顺序栈的增删改查
#include <stdio.h> #include <stdlib.h> #define INITIAL_STACK_SIZE 100 #define INCREASE_STACK_SIZE 10 // 大于一个元素的内存大小 typedef int ElemType; typedef struct Stack { ElemType *top; ElemType *base;
作者:编程之家 时间:2019-06-22
【数据结构】对于线性表的顺序和链接两种存储方式的主要优缺点
1、顺序存储 优点: 在结点等长时可以随机存取 存储密度高节省存储空间 用结点的物理次序反映结点之间的逻辑关系 缺点: 插入和删除结点时要移动大量的结点 必须静态分配连续空间 2、链接存储 优点: 插入和删除比较灵活,不需要大量移动结点 动态分配空间比较灵活,不需要预先申请最大的连续空间 缺点: 增加指针的空间开销 检索必须沿链进行,不能随机存取
作者:编程之家 时间:2019-06-22
【数据结构】中缀表达式|后缀表达式|前缀表达式
1、把下列的后缀和前缀表达式转换为相应的中缀表达式 AB*C-D+ ABC+*D- +-*ABCD 2、利用栈把下列中缀表达式转换为后缀表达式和前缀表达式 D-B+C A*B+C*D (A+B)*C-D*F+C **利用栈将中缀表达式转换为前缀表达式算法 1)求输入串的逆序 2)检查输入的下一个元素 3)假如是操作数,把它添加到输出串中 4)假如是闭括号,将它压栈 5)假如是运算符,则: i)假如
作者:编程之家 时间:2019-06-22
【数据结构】链式栈的操作
#include <stdio.h> #include <malloc.h> typedef int ElemType; typedef struct LinkStack{ LinkStack *link; ElemType elem; }* PLinkStack; void InitStack(PLinkStack L); PLinkStack Push(PLinkSta
作者:编程之家 时间:2019-06-22
【数据结构】 利用栈求解 括号匹配问题
括号是否匹配问题求解 以下为代码演示: /*** // 括号匹配问题 InitStack ( &S) : 栈的初始化 Push ( &S, e) :进栈 Pop (&S ) : 出栈 GetTop (S ): 取栈顶元素 IsEmpty (S): 判栈空否 ***/ #include <stdio.h> #include <stdlib.h> #define STACK
作者:编程之家 时间:2019-06-25
【数据结构】 利用栈实现进制转换
利用栈 转换进制 碰到 大于 10的进制 需要在进栈元素处做相应的处理 /*** // 数制 转换问题 所得商 入栈 计算完毕后 出栈 即为所得 InitStack ( &S) : 栈的初始化 Push ( &S, e) :进栈 Pop (&S ) : 出栈 GetTop (S ): 取栈顶元素 IsEmpty (S): 判栈空否 ***/ #include <stdio.h> #includ
作者:编程之家 时间:2019-06-25
嗯,那些待我挑战的一些东西在完成《数据结构》这本书后当做复习&提升的目录
1栈的面试题&卡塔兰数 http://www.cnblogs.com/MichaelYin/archive/2011/10/10/2206532.html http://www.cnblogs.com/MichaelYin/archive/2010/12/23/1915316.html http://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%94%E5%85%B0
作者:编程之家 时间:2019-06-25
【数据结构】利用栈 求解表达式
表达式求值问题,其中运算符号只包含 加减乘除 取整数 详细请参见代码: #include <stdio.h> #define MAX_SIZE 100 typedef struct { int top; char data[MAX_SIZE]; }NumStack; typedef struct { int top; char opera[MAX_SIZE]; }OperaSta
作者:编程之家 时间:2019-06-25
【数据结构】学习笔记——目录
册
作者:编程之家 时间:2019-06-25
【数据结构】学习笔记一——基本概念和框架
一、概论 1.数据(Data): 信息的载体,能被计算机识别、存储和加工处理。 2.数据项:具有独立含义的最小标识单位。 3.数据元素(Data Element):数据的基本单位,可由若干数据项组成, 4.数据结构(Data Structure):数据之间的相互关系,即数据的组织形式。 (1)数据的逻辑结构:从逻辑关系上描述数据,与数据存储无关,独立于计算机。 数据的逻辑结构可以看做是从具体问题抽
作者:编程之家 时间:2019-06-25
【数据结构】学习笔记一——线性表
。。
作者:编程之家 时间:2019-06-25
【数据结构】静态循环队列的操作
静态循环队列的操作 详细请参考以下代码: #include <stdio.h> #define MAX_SIZE 100 typedef struct { int front; int rear; int data[MAX_SIZE]; }Queue; // 循环队列 void initQueue(Queue * sq); void DestoryQueue
作者:编程之家 时间:2019-06-25
【数据结构】 链式队列的一些操作
详细见代码: #include <stdio.h> #include <stdlib.h> typedef struct ElemType { int data; ElemType *next; }ElemType; // next 是 元素的指针 指向下一个元素的位置 typedef struct { ElemType
作者:编程之家 时间:2019-06-25
【数据结构】 稀疏矩阵 转换成三元组
# include <stdio.h> # define maxsize 100 //三元组结点: typedef int datatype; typedef struct { int x; int y; datatype value; } Triple; //稀疏矩阵: typedef struct { Triple data[maxsize]; int row; int
作者:编程之家 时间:2019-06-25
【数据结构】 三元组的转置
#include <stdio.h> #define maxsize 100 //三元组结点: typedef int datatype; typedef struct { int x; int y; datatype value; } Triple; //稀疏矩阵: typedef struct { Triple data[maxsize]; int row; int va
作者:编程之家 时间:2019-06-25
【数据结构】二叉查找树【续】之非递归遍历
对于二叉查找树,前面有博文介绍:http://www.voidcn.com/article/p-meorpsty-bcb.html【二叉查找树】,关于二叉树的三种遍历方式介绍,参见前面链接。二叉树的遍历关键在于:出的去要回得来。以中序遍历为例,先遍历左子树,再访问根节点,最后遍历右子树,当遍历完左子树,即发现访问到左子树的叶子节点了,下一步便是访问该叶子节点的根节点,再右子树。接下来还需要一层一层
作者:编程之家 时间:2019-06-25
九度OJ 1505 两个链表的第一个公共结点 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1505 题目描述: 输入两个链表,找出它们的第一个公共结点。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的两个链表的元素的个数。 接下来的两行,第一行为第一个链表的所有元素,中间用空格隔开。第二行为第二个链表的所有元素,中间用空格隔开
作者:编程之家 时间:2019-06-25
【数据结构】二叉树的递归遍历
#include <stdio.h> #include <stdlib.h> typedef char ElemType; typedef struct BiTree { ElemType Elem; BiTree * LChild; BiTree * RChild; }BiTree,*PBiTree; /*建立二叉树*/ PBiTree CreateBiTree
作者:编程之家 时间:2019-06-25
《数据结构》必看知识点
知识点1: 数组A[N][M],A[0][0]是数组中地址最小的元素。如果A[0][0]存放地址为n,那么A[i][j]存放的地址就是: n+i*M*sizeof(T)+j*sizeof(T) ,sizeof(T)是每个元素所占的存储单元。 另一种表述:已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是Loc(A[0][0]),则A[i][j]的地址
作者:编程之家 时间:2019-06-25
【数据结构】二叉树的操作2
#include <stdio.h> #include <stdlib.h> typedef char ElemType; typedef struct BiTree { ElemType elem; BiTree * LChild; BiTree * RChild; }BiTree,* PBiTree; /*先序顺序创建二叉树*/ PBiTree CreateBiTree();
作者:编程之家 时间:2019-06-25
上一页
16
17
18
19
20
21
22
23
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native