Day19_队列

顺序结构 的数据元素 就是 数据
链式结构 的数据元素 是节点,节点由数据和地址组成

运算结构包括:
运算结构主要针对数据结构的行为,一般都体现为各种函数,主要有:
创建和销毁、增加和删除元素、取出和修改、排序、查询等算法;

堆栈 - 先进后出,后进先出(倒序排队)

  输入十进制整数和进制数,利用堆栈以指定进制格式打印该十进制数
  思路:先把整数对进制 取余,余数放入堆栈中,对整数 除以 进制,
---------------------------------------------------------
  1 #include <stdio.h>
  2 #include "sl.h"
  3
  4 int main()
  5 {
  6         int num=0,opr=0;
  7         printf("请输入一个十进制整数:");
  8         scanf("%d",&num);
  9         printf("请输入一个进制:");
 10         scanf("%d",&opr);
 11         STACK stack;
 12         stack_init(&stack);//创建堆栈
 13         while(num)
 14         {
 15             stack_push(&stack,num%opr);
 16             num=num/opr;
 17             //stack_push(&stack,num=num/opr);
 18         }
 19         while(!stack_empty(&stack))
 20         {
 21                 if(stack_top(&stack)>=10)
 22                 {
 23                         printf("%c",'A'+stack_pop(&stack)-    10);
 24                 }
 25                 else
 26                 {
 27                     printf("%d",stack_pop(&stack));
 28                 }
 29         }
 30         printf("\n");
 31         stack_deinit(&stack);
 32 }
---------------------------------------------------------

队列(queue)
  线性结构 - 特点:先进先出(FIFO)
  顺序结构的实现 - 原则:
     有两个下标:队首下标 和 队尾下标
     新增元素:放在队尾下标,队尾下标++
     删除元素:队首下标出列,队首下标++
    注:当下标 等于 容量时,下标回到0
  qa.h qa.c
  链式表的实现 - 原则:
     有两个节点指针 - 队首节点和队尾节点
     新增元素:放在队尾,同时修改原来队尾的next(第一个新增的元素是修改队首指针)
     删除元素:弹出队首,同时销毁队首节点(最后一个元素还要修改队尾)
   注:链式表的队列没有满,可以自增长度
   ql.h ql.c
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值