苏嵌日志第二天

编程入门 行业动态 更新时间:2024-10-07 13:20:56

苏嵌日志<a href=https://www.elefans.com/category/jswz/34/1769066.html style=第二天"/>

苏嵌日志第二天

学习日志2
姓名:潘曦
日期:2018.9.11
今日学习任务:
线性结构存储方式:
1、顺序存储(连续)
2、链式存储(不连续)
栈的进出方式:先进后出。

栈:
长度 栈顶指针(数组下标)
容量
起始地址

学会用栈的用法编写程序 ,按步骤分为:初始化栈、进栈、出栈、判断栈是否为空、获取栈顶元素、清空栈的相关函数编写。完成200多代码量。

今天新学到的编程相关指令
→ a 插入(误关,ls -a,删除 rm -rf )
→.h按ESC,shift+; w保存 右击打开终端。
gcc *.c -o main

今日任务完成情况:
基本上能跟上老师的步伐完成任务,有一些生疏。
今日开发中出现的问题汇总:
1、对栈的编写运用需要更加了解,有一些生疏。
2、在编程时有一些基本语法错误导致程序不能编译成功。
今日未解决问题:
编写程序时小问题多总是要回头查找问题 ,对结构体还需要学习。
今日开发收获:
今日编写的程序:
①stack.h

#ifndef STACK_H
#define STACK_H#define MAXSIZE     10
#define SUCCESS     1000
#define FAILURE     1001struct stack
{int data[MAXSIZE];int top;
};
typedef struct stack S;#endif

②main.c

#include<stdio.h>
#include"stack.h"int main()
{S stack;int ret,i;ret = InitStack(&stack);if(SUCCESS == ret){printf("Init Success!\n");}else{printf("Init Failure!\n");}for(i=0;i<5;i++){ret = push(&stack,i + 1);if(SUCCESS == ret){printf("push %d success!\n",i + 1);}else{printf("push failure!\n");}}for(i=0;i<3;i++){ret = pop(&stack);if(ret == FAILURE){printf("pop failure!\n");}else{printf("pop %d success!\n",ret);}}ret = EmptyStack(stack);if(ret == SUCCESS){printf("stack is empty!\n");}else{printf("stack is not empty!\n");}ret = GetTop(stack);if(ret == FAILURE){printf("Get Top Failure!\n");}else{printf("Top %d\n",ret);}ret = ClearStack(&stack);if(ret == FAILURE){printf("clear failure!\n");}else{printf("clear success!\n");}ret = EmptyStack(stack);if(ret == SUCCESS){printf("stack is empty!\n");}else{printf("stack is not empty!\n");}return 0;}

③stack.c

#include"stack.h"
#include<stdio.h>int InitStack(S *s)
{if(NULL == s){return FAILURE;}s->top = -1;return SUCCESS;
}int push(S *s,int e)
{if(NULL == s){return FAILURE;}if(s->top == MAXSIZE - 1){return FAILURE;}s->data[s->top + 1]=e;s->top++;return SUCCESS;
}int pop(S *s)
{if(NULL == s){return FAILURE;}if(-1 == s->top){return FAILURE;}int e = s->data[s->top];s->top--;return e;
}int EmptyStack(S s)
{return (s.top == -1) ? SUCCESS : FAILURE;
}int GetTop(S s)
{if(s.top == -1){return FAILURE;}return s.data[s.top];
}int ClearStack(S *s)
{if(NULL == s){return FAILURE;}s->top = -1;return SUCCESS;
}

自我评价:一步一个脚印的努力,总有收获。

更多推荐

苏嵌日志第二天

本文发布于:2024-02-27 19:32:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765927.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第二天   日志

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!