苏嵌实训学习日志

学习日志 姓名:顾迎星 日期:2018 9.4
一.今日学习任务:数组结构和算法,栈(先进后出)
二.今日任务完成情况

 #include "stack.h"
 #include <stdio.h>
int main()
{
    int ret,i;
    Stack s;

    ret = InitStack(&s);
    if (ret = SUCCESS)
     {
        printf("Init Success!\n");
     }
     else
     {
      printf("Init Failure!\n");
      }

     ret = EmptyStack(s);
     if (ret == SUCCESS)
     {
        printf("stack is empty!\n");
     }
     else
     {
         printf("stack is not empty!\n"); 
     }
     for (i=0;i<11;i++)
     {
       ret = push(&s,i+1);
       if (ret == SUCCESS)
       {
           printf("push %d success!\n",i+1);
       }
       else
       {    
           printf("push %d failure!\n",i+1);
       }
     }

       ret = GetTop(s);  //huoquzhandingyuansu
        if(ret == FAILURE)
        {
            printf("Get Top Failure!\n");
        }
        else
        {
            printf("Top is %d\n",ret);
        }

        for (i =0;i<5;i++)
        {
             ret = pop(&s);
             if(ret == FAILURE)
             {
                printf("pop %d failure!\n");
             }
             else
              {
                printf("pop %d success!\n",ret);
              }

        }
        ret = GetTop(s);  //huoquzhandingyuansu
        if(ret == FAILURE)
        {
            printf("Get Top Failure!\n");
        }
        else
        {
            printf("Top is %d\n",ret);
        }

        ret = ClearStack(&s);
        if (ret == FAILURE)
        {
             printf("clear Failure!\n");
        }
        else
        {
            printf("clear Success!\n");
        }




    return 0;
}
2.sort.c
 #include <stdio.h>
 #include"stack.h"
 #include <stdlib.h> 
int main()
{
     int i,num;
    Stack s1,s2;
    if (InitStack(&s1)==FAILURE || InitStack(&s2) == FAILURE )
    {
        printf ("Init Failure!\n");
        exit(1);
     }

     for (i = 0;i<5; i++)
     if(i == 0)
     {
         push(&s1,num);
     }
     else
     {
          while (num <GetTop(s1) && EmptyStack(s1)!=SUCCESS)
          {
             push(&s2,pop(&s1));
          }
          push(&s1,num);
          while (EmptyStack(s2)!=SUCCESS)
          {
              push(&s1,pop(&s2));
          } 
      }
      for (i=0;i<5;i++)
      {
          printf("%d\ ",pop(&s1));
      }
      printf("\n");

      return 0;
}
3.stack.c
 #include "stack.h"
 #include <stdio.h>
int InitStack(Stack *s)
{    
     if (NULL == s)
     {
         return FAILURE;
      }
    s->top = -1;

    return SUCCESS;
}



int EmptyStack(Stack s)
{
   return (s.top == -1)? SUCCESS: FAILURE;
}


int push(Stack *s,int e)
{
    if (NULL == s)
    {
        return FAILURE;
    }
    if (s->top == 9)
    {
        return FAILURE;
    }
    s->data[s->top+1] = e;
    s->top++;

    return SUCCESS;
}

int GetTop(Stack s)
{
     if (s.top == -1)
     {
         return FAILURE;
     }
     else
      {
          return s.data[s.top];
      }
 }     

int pop(Stack *s)
{
    int e;

    if(NULL == s)
    {
          return FAILURE;
     }
     if(s->top == -1)
     {
           return FAILURE;
     }

      e = s->data[s->top];
      s->top--;

     return 0;
 }


 int ClearStack(Stack *s)
 {
      if(NULL == s)
      {
         return FAILURE;
      }

      s->top = -1;


     return SUCCESS;
}
4.stack.h
 #ifndef STACK_H
 #define STACK_H

 #define MAXSIZE 10
 #define SUCCESS 10000
 #define FAILURE 10001
struct stack
{
     int data[MAXSIZE];
     int top;    //zhandingzhizhen(shuzuxiabiao)
};
typedef struct stack Stack;

 #endif

三.今日开发中出现的问题汇总
1.敲代码速度有点慢,有时跟不上老师的节奏
2.学习的大部分精力放在敲代码上,都没有弄清楚代码的意义
四.今日未解决的问题
作业不会,没有老师带领,写不出来
五.自我评价
本人对电脑一窍不通,最基本的打字速度可能还不如小学生,一指弹打字,更不要提自己编写代码了,不是不认真学,是真的看不进去,不能理解为什么是这样写,看不懂太难了!
6.建议
希望老师不要布置作业了,没什么意义,太费时间了,还要写日志,任务量有点大,没有时间学习其他的内容,补考,计算机二级考试,考研,考教师资格证。。。希望老师能理解一下,你自己也能轻松点,而且就四天半,我们能学到什么,即使学会了这四天的内容,你走了,不要四天,我全忘了,没意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值