博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
箭头与点的区别
阅读量:5167 次
发布时间:2019-06-13

本文共 1370 字,大约阅读时间需要 4 分钟。

在数据结构C语言版中

使用结点的数据指针是要使用->

结构体中的指针的使用用点

例如:

  #include<string.h>

 #include<ctype.h>
 #include<malloc.h> /* malloc()等 */
 #include<limits.h> /* INT_MAX等 */
 #include<stdio.h> /* EOF(=^Z或F6),NULL */
 #include<stdlib.h> /* atoi() */
 #include<io.h> /* eof() */
 #include<math.h> /* floor(),ceil(),abs() */
 #include<process.h> /* exit() */
 /* 函数结果状态代码 */
 #define TRUE 1
 #define FALSE 0
 #define OK 1
 #define ERROR 0
 #define INFEASIBLE -1
 /* #define OVERFLOW -2 因为在math.h中已定义OVERFLOW的值为3,故去掉此行 */
 typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
 typedef int Boolean; /* Boolean是布尔类型,其值是TRUE或FALSE */

typedef int QTypeElem;

typedef struct QNode
{
 QTypeElem data;
 struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
 QueuePtr front;//头指针
 QueuePtr rear;//尾指针
}LinkQueue;

//初始化一个空的列队

Status InitQueue(LinkQueue &Q)
{
 Q.front =Q.rear =(QueuePtr)malloc(sizeof(QNode));
 if(!Q.front )
 {
  exit(OVERFLOW);
  
 }
 Q.front =Q.rear =NULL;
 return OK;
}
//销毁一个列队
Status DestoryQueue(LinkQueue &Q)
{
 while (Q.front )
 {
  Q.rear =Q.front ->next;
  if(Q.front )
  {
   free(Q.front );
    Q.front =Q.rear ;
  }
 }
 return OK;
}
//插入新的队尾元素
Status EnQueue(LinkQueue &Q,QTypeElem &e)
{
 struct QNode *p;
   p=(QueuePtr)malloc(sizeof(QNode));
 if(!p)
 {
     exit(OVERFLOW);
 }
 else
 {
   p->data=e;
   p->next=NULL;
 }
 Q.rear->next=p;
 Q.rear=p;
 return OK;
 

 

}
void main()
{

}

转载于:https://www.cnblogs.com/rocfly/archive/2011/09/21/2184545.html

你可能感兴趣的文章
setImageBitmap和setImageResource
查看>>
springMVC4 注解配置实例
查看>>
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
CES2
查看>>
python 数据类型_字典和集合
查看>>
一种并行随机梯度下降法
查看>>
文件方式实现完整的英文词频统计实例
查看>>
ListControl的用法
查看>>