首页
社区
课程
招聘
5
[原创]数据结构之栈(C语言实现)
发表于: 2013-8-9 13:55 17808

[原创]数据结构之栈(C语言实现)

2013-8-9 13:55
17808
1
2
3
4
5
6
//定义顺序栈的结构
typedef struct stack
{
  student data[SIZE+1];    //数据元素
  int top;              //栈顶
}SeqStack;
1
2
3
4
5
6
7
8
9
10
11
//初始化栈
SeqStack * SeqStackInit()
{
  SeqStack *p;
  if (p = (SeqStack *)malloc(sizeof(SeqStack)))         //申请栈内存
  {
    p->top = 0;
    return p;
  }
  return NULL;             //申请内存失败返回空值
}
1
2
3
4
5
6
 //释放栈内存
void SeqStackFree(SeqStack *s)
{
  if(s)
    free(s);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
//判断栈的状态
int SeqStackIsEmpty(SeqStack *s)                 //判断栈是否为空
{
  return(s->top == 0);
}
void SeqStackClear(SeqStack *s)               //清空栈
{
  s->top = 0;
}
void SeqStackIsFull(SeqStack *s)      //判断栈是否已满
{
  return(s->top == SIZE);
}
1
2
3
4
5
6
7
8
9
10
11
 //入栈
int SeqStackPush(SeqStack *s, student data)     //入栈操作
{
  if ((s->top+1) > SIZE)
  {
    printf("栈溢出!\n");
    return 0;
  }
  s->data[++s->top] = data;         //将元素入栈
  return 1;
}

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 5
支持
分享
赞赏记录
参与人
雪币
留言
时间
心游尘世外
为你点赞~
2024-5-31 05:58
QinBeast
为你点赞~
2024-5-31 05:50
飘零丶
为你点赞~
2024-4-3 00:48
shinratensei
为你点赞~
2024-2-22 00:09
PLEBFE
为你点赞~
2023-3-7 00:29
最新回复 (8)
雪    币: 1585
活跃值: (190)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
占位编辑
2013-8-9 13:56
0
雪    币: 6836
活跃值: (1339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
顶起,写的不错
2013-8-9 15:06
0
雪    币: 505
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
通俗易懂,支持一下
2014-1-28 09:50
0
雪    币: 36
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
if (p = (SeqStack *)malloc(sizeof(SeqStack)))         //申请栈内存

这种写法没用过
2014-1-28 09:57
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主刚学完stack吗,哪只是线性表的一部分呀,后面到了广义表和矩阵以后,才真正上难度
2014-1-28 10:32
0
雪    币: 30
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
栈,值得学习
2014-1-28 15:32
0
雪    币: 27
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
期待下一篇
2014-1-28 16:42
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请问LZ学完C,用了多久时间?小弟初学
2014-1-28 17:29
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册