算法与数据结构
算法句数据结构是程序的灵魂,你丢弃了算法也就等于抛弃了优秀程序员的称号
HeroKern
欢迎关注嵌入式开发公众号,定期更新技术文章。
-
原创 算法与数据结构之顺序表顺序表
著名的计算机科学家N.Wirth教授曾提出一个公式:算法+数据结构=程序 “数组”类型表示顺序存储结构,用指针来表示链式存储结构。指针p指向下一个对象单元,p的值不是一增加1,而是增加对象类型所占的字节数。 一个结构提示类型student,没有定义变量,就不会分配存储单元,不能再程序中直接访问结构体类型名。 线性表是N个具有相同特性的数据元素的有限序列。线性表分为 顺序存储结构和链式存储结构2015-10-21 13:15:522967
0
-
原创 算法与数据结构之单链表
从终端输入一组整数,以0作为结束标志,将这一簇整数存放在一个链表中(不包括0),打印出该链表中的值,然后删除链表中的第五个元素,打印出删除后的结果。mian.c#include "stdio.h" typedef int ElemType; typedef struct node{ ElemType data; /*数据域*/ struct node *next; /*指2015-10-21 13:17:1218174
0
-
原创 算法与数据结构之循环链表
循环链表是指在单链表的最后一个节点链域值不是NULL,而是指向头节点,整个链表形成一个环。h->next=h; 循环链表的操作和单链表基本一致,但是需要在算法中的循环条件p或者p->next是否为空改成是否等于头指针。 下面以循环链表中查找值为x的结点为例来讨论如何实现算法。 Lnode *get (Lnode *h ,elemtype x) { Lnode *p;2015-10-21 13:25:0610509
0
-
原创 算法与数据结构之双向链表
直接看代码理解快一点,代码有些重要部分是有注释的。 #include #include #include typedef int elemtype; typedef struct dnode { elemtype data; struct dnode *prior; struct dnode *next; }dlinklist; void createlistf(2015-10-21 13:26:2510044
0
-
原创 算法与数据结构之栈的顺序存储
#include #include #include #define maxsize 50 typedef int elemtype; typedef struct //定义 { elemtype data[maxsize]; int top; }sqstack; void initstack(sqstack *&s) //初始化 { s=(sqstack *)malloc2015-10-21 13:27:223660
0
-
原创 算法与数据结构之栈的链式存储
#include #include #include typedef int elemtype; typedef struct linknode //链表的定义 { elemtype data; struct linknode *next; } listack; void initstack(listack *&s) //初始化 { s=(listack *)malloc(s2015-10-21 13:31:393522
0
-
原创 算法与数据结构之队列的顺序存储
#include #include #include #define maxsize 100 typedef char elemtype; typedef struct //队列的定义 { elemtype data[maxsize]; int front,rear; }sqqueue; void initqueue(sqqueue *&q) //队列的初始化 { q=(s2015-10-21 13:33:3914677
0
-
原创 算法与数据结构之队列的链式存储
#include #include #include typedef int elemtype; typedef struct qnode //数据节点的定义 { elemtype data; struct qnode *next; }qnode; typedef struct //链队的定义 { qnode *front; qnode *rear; }liqueue;2015-10-21 13:34:1515189
0
-
原创 算法与数据结构之顺序串
#include #include #define maxsize 100 typedef struct //非紧缩格式的顺序串的定义 { char data[maxsize]; int length; }sqstring; void strassign(sqstring &s) //将字符串复制给串 { char a[100]; int i; getchar(); pr2015-10-21 13:35:1616155
0
-
原创 算法与数据结构之稀疏矩阵
#include #include #define m 3 //行数 #define n 2 //列数 #define maxsize 50 typedef int elemtype; typedef struct { int r; int c; elemtype d; }tupnode; typedef struct { int rows; int cols;2015-10-21 13:36:3214883
0
-
原创 算法与数据结构之广义表
#include #include #include typedef char elemtype; typedef struct lnode //广义表的定义 { int tag; union { elemtype data; struct lnode *sublist; }val; struct lnode *link; }glnode; glnode *crea2015-10-21 13:37:1315313
0
-
原创 算法与数据结构之二叉树
#include #include #include #define maxsize 20 typedef int elemtype; typedef struct node //定义 { elemtype data; struct node *lchild; struct node *rchild; }btnode; void createbtnode(btnode *&b2015-10-21 13:40:1313914
0
-
原创 链表的实战讲解(综合以前的基础)
这是前面我讲得算法与数据结构中链表的综合,如果这里不明白请看前面的基础知识:链接地址。 #include #include #include /* 定义一个结构体 */ typedef struct NAME{ char *name; struct NAME *pre; struct NAME *next; }T_Name, *PT_Name; stati2015-12-25 15:08:4416392
0