第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

【備戰(zhàn)春招】第20天 嵌入式工程師學(xué)習(xí)筆記

標(biāo)簽:
C C++ 嵌入式

【备战春招】第20天 嵌入式工程师学习笔记

课程信息

课程内容概述

1. 简介

本节介绍了C语言中的顺序栈的代码实现。

2. 图形操作

图片描述

  • 数据类型的设计
//数据元素的类型
typedef int data_t;

#define  MAX   5

//顺序栈的类型
typedef struct
{
    //数组存储数据元素
    data_t buf[MAX];
    //记录当前栈顶位置的栈顶指针(下标)
    int top;
}seqstack_t;

3. 代码常用操作

创建空的顺序栈,top == -1

seqstack_t *create_empty_seqstack()
{
    //1.为顺序栈在堆区分配空间,用s保存首地址
    seqstack_t *s = (seqstack *)malloc(sizeof(seqstack_t));
    if(NULL == s)
    {
            printf("malloc is fail\n");        
            return NULL;
    }

    memset(s,0,sizeof(seqstack));
//2.置为空栈,s->top = -1;
    s->top = -1;
//3.返回顺序栈的首地址
    return s;
        
}

顺序栈的判空,比较top 和 -1

//2、顺序栈的判空,比较top 和 -1
//   成立返回1,不成立返回0
int is_empty_seqstack(seqstack_t *s)
{
    return s->top == -1 ? 1 : 0; 
}

顺序栈的判满,比较top 和 N - 1

int is_full_seqstack(seqstack_t *s)
{
    return s->top == MAX - 1 ? 1 : 0; 
}

入栈push,先移动top,再插入数据

void push_seqstack(seqstack_t*s,data_t data)
{
    s->buf[++s->top] = data;
    return ;
}

出栈pop,先取数据,再移动top

data_t  pop_seqstack(seqstack_t *s)
{
    return s->buf[s->top--];
}

获得栈顶元素

data_t  get_top_data(seqstack_t *s)
{
    return s->buf[s->top];
}

主函数测试

int main()
{
    int i = 0;
    data_t  ret = 0;
    //创建s,保存了顺序栈的首地址
    seqstack_t *s = create_empty_seqstack();

    //当栈没有满的时候,插入数据
    while(!is_full_seqstack(s))
    {
        push_seqstack(s,i++);
    }

    printf("top : %d\n",get_top_data(s));

    printf("pop : %d\n",pop_seqstack(s));
    while(!is_empty_seqstack(s))
    {
        ret = pop_seqstack(s);
        printf("%d ",ret);
    }

    putchar('\n');

    return 0;
}


学习心得

C语言中的数据结构,实践练习了顺序栈的代码实现,感觉很有收获。

课程截图

1. 示例

图片描述

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消