【原创】栈和队列的数据结构实现

  1. #include<stdlib.h>
  2. struct stack{
  3. int* number;
  4. int n;
  5. };
  6. void init_stack(struct stack *s,int size){
  7. s->number=(int*)malloc(4*size);
  8. s->n=0;
  9. }
  10. void push_stack(struct stack *s,int push_num){
  11. s->n++;
  12. s->number[s->n]=push_num;
  13. }
  14. void pop_stack(struct stack *s){
  15. s->number[s->n]=0;
  16. s->n--;
  17. }
  18. int top_stack(struct stack s){
  19. return s.number[s.n];
  20. }

队列

  1. struct queue{
  2. int* number;
  3. int start,end;
  4. };
  5. void init_queue(struct queue *s,int size){
  6. s->number=(int*)malloc(4*size);
  7. s->start=0;s->end=0;
  8. }
  9. void push_queue(struct queue *s,int push_num){
  10. s->end++;
  11. s->number[s->end]=push_num;
  12. }
  13. void pop_queue(struct queue *s){
  14. s->number[s->start]=0;
  15. s->start++;
  16. }
  17. int front_queue(struct queue s){
  18. return s.number[s.start+1];
  19. }
(0)

相关推荐