C语言数据结构各种结构体的定义

线性表
顺序表
单链表
双链表

队列

二叉树

typedef struct{      //线性表的顺序存储 ~ 数组 + 长度 ElemType data[maxsize];int length;
}SqList; typedef struct{     //线性表动态分配定义 ElemType *data;int listsize;int length;
}SeqList; typedef struct LNode{  //单链表 ~  栈链式 ElemType dataLNode *next
}LNode,*LinkList; typedef struct DNode{  //双链表 ElemType data;DNode *prior,*next;
}DNode,*DLinkList; typedef struct{  //栈的顺序存储 ElemType data[maxsize];int top;
}SqStack; typedef struct Linknode{  //栈的链式存储 ~ 单链表 ElemType data;Linknode *next;
}*LiStack; typedef struct{  //队列的顺序存储 ElemType data[maxsize];int front,rear;
}SqQueue; typedef struct Linknode{  //队列的链式存储 ~ 单链表 + ElemType data;LinkNode *next;
}LinkNode; typedef struct{LinkNode *front,*rear;
}LinkQueue;typedef struct{   //串的定长顺序存储 ~ 顺序线性表 char ch[maxsize];int length;
}SString;typedef struct{    //串动态分配定义 ~ 定长串顺序存储 char *ch;int length;
}HString; //二叉树的顺序存储,用于堆排序(完全二叉树)  ~ 数组 (+ 长度)
//且数组第0位一般不放数据;用“0”表示树中不存在的空节点(因为不一定是完全二叉树)  typedef struct BiTNode{  //二叉树的链式存储    ElemType data;BiTNode *lchild,*rchild;
}BiTNode,*BiTree; typedef char VertexType;
typedef int EdgeType;
//图的邻接矩阵存储定义
typedef struct{VertexType Vex[maxsize];//顶点表 EdgeType Edge[maxsize][maxsize];//邻接矩阵,边表 int vexnum;//顶点数 int arcnum;//弧数
}MGraph;//图的邻接表存储定义
typedef struct ArcNode{//与顶点连接的点 int adjvex;ArcNode *next;
}ArcNode; typedef struct VNode{//顶点表节点 VertexType data;ArcNode *first;
}VNode,AdjLst[maxsize];typedef struct{AdjList vertices;//邻接表 int vexnum;//顶点数 int arcnum;//弧数
}ALGraph;

欢迎纠错、补充

C语言数据结构各种结构体的定义相关推荐

  1. c++结构体定义和使用_【C语言更新】结构体的定义及使用

    文/Edward首先先思考一个问题,假设某一天你去了一家策划公司,接到了一个策划需求,比如为新上市的某款手机写一个市场推广的文案,并且在电脑上面打印出来.那么在写这个文案的时候,你肯定是会需要着重地去 ...

  2. C语言学习笔记---结构体的定义和初始化

      在C语言中结构体通常用来将不同类型的变量打包在一起,方便对对象的统一管理. 结构体定义   要使用结构体时,首先要进行结构体的声明.声明的形式如下: struct 结构体名{ 结构体所包含的变量} ...

  3. C语言结构体的定义与使用、结构体数组、指向结构体的指针(有代码详解)

    1.结构体的定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体的定义形式: struct 结构体名{结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数 ...

  4. c语言怎么判定结构体有无数据,C语言中什么是结构体,怎么定义结构体。

    为什么要用结构体? 没有结构体之前,C语言中,数据的组织依靠:变量+数组.最初最简单的时候,只需要使用基本数据类型来定义单个变量,需要几个就定义几个,后来有时候需要很多意义相关的变量这时候数组出现了. ...

  5. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  6. c语言中的结构体定义和常见用法

    1.结构体简述和概念 结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型.结构体通常用来表示类型不同但是又相关的若干数据 ...

  7. C语言中的指针应用,函数指针,指针函数,结构体中定义函数指针。

    指针函数 指针函数就是一个返回指针的函数,其本质是一个函数,该函数的返回值是一个指针. 声明一个指针函数 int* fun(int x,int y); 例子 typedef struct _Data{ ...

  8. linux c 结构体参数,C语言结构体类型定义

    C语言结构体类型定义 结构体的定义形式如下: struct 结构体名 { 结构体成员 }: 结构体变量的定义方式有三种: 1.先定义结构体,再定义变量: eg. struct student{ cha ...

  9. C语言学习—结构体的定义与使用

    文章目录 前言 一.结构体的概念 1.结构体是什么? 2.如何定义一个结构体? 3.结构体变量 4.结构体变量的初始化 4.1结构体成员的访问 4.2结构体变量的初始化 二.结构体的使用 1.如何去使 ...

  10. C语言结构体中定义函数指针详解

    C语言结构体中定义函数指针详解 结构体指针函数应用场景之一--驱动程序编写 结构体的一些基本用法 形式1:先定义结构体类型,再定义变量 形式2:在定义类型的同时定义变量 形式3:直接定义变量,用无名结 ...

最新文章

  1. Python入门100题 | 第071题
  2. Oracle登录命令
  3. 关于 python 的注释
  4. mysql性能优化-学习笔记
  5. 苹果零售业逐步恢复:部分已允许顾客店内试用AirPods
  6. go语言调度器源代码情景分析之五:汇编指令
  7. linux 镜像 多 网络,Linux内核实现多路镜像流量聚合和复制的方法
  8. 如何借助大数据进行社交媒体营销
  9. 什么是C++标准库?
  10. 配置paraview 服务器
  11. 计算机组装与维护日记,计算机毕业生实习日志
  12. R329开发板系列教程之二|实机运行aipu程序
  13. 两台计算机如何共享文档,两台电脑怎么共享文件夹?
  14. 联想拯救者笔记本电脑Fn键失效,Fn功能相反,开关FnLock
  15. 11亿年轻人听力受损:先别担心头发了,你都要聋了!
  16. 苹果系统微信实况图照片发送-竞品分析初步思考
  17. java三维数组的遍历
  18. 唐读笔记-正则表达式必知必会
  19. 数据分析4——挖掘建模(监督学习中的分类、回归模型,无监督学习)
  20. 知识图谱嵌入的衡量指标:MRR,MR,HITS@n

热门文章

  1. python 基础语法梳理(二)
  2. JavaScript语言精粹_笔记
  3. weblogic 下载文件问题
  4. 多种方法去除按钮以及链接点击时虚线
  5. logmmse降噪算法
  6. 基于genius框架的智能代理(intelligence agent)项目实战
  7. java异步编程的面试_去年去阿里面试,被问到java 多线程,我是这样手撕面试官的...
  8. HBuilder X 报 Error: Unbalanced delimiter found in string 错误
  9. c 语言程序设计(清华大学郑莉),清华大学 C++程序设计语言 45 郑莉 视频教程
  10. php意外进程退出,php FastCGI 进程意外退出 错误解决方法