C语言
风裳
好好学习,天天向上。
展开
-
C语言实现顺序循环队列
队列,也是一种十分常用的数据结构。顾名思义,队列和排队的队伍类似,都是从最后端进,呈队伍状,并由排到最前面的出去,由此可见,队列是一种先进先出(FIFO)的结构。顺序队列有头指针和尾指针分别指向队头和队尾,来推导出队列的使用情况。但其中顺序队列有个很常见的问题就是,当元素在一端进行插入,另一端进行删除时,当头部走到队列的队列总长MAX值-1时,就队满了,但此时队列中的确仍有空间尚未使用,这就是所谓的“假溢出现象”。要更有效地解决这种问题,就有了我们的顺序循环队列。顺序循环队列,顾名思义,就是把队头和原创 2020-06-03 20:26:39 · 1263 阅读 · 0 评论 -
C语言实现顺序栈
众所周知,栈在C/C++语言里面是一个十分重要的结构,像比较经典的函数调用栈,就是一个典型的栈结构,还有递归、中缀表达式转后缀表达式、后缀表达式求值、递归转换非递归等,都用到了栈。栈是先进后出的结构,其大致结构如下:下面是栈的结构设计:typedef int ElemType;#define STACK_INIT_SIZE 10#define STACKINCREMENT 5typedef struct Stack{ ElemType *base; int top; int stack原创 2020-05-29 16:00:02 · 373 阅读 · 0 评论 -
C语言实现带头结点单链表
废话不多说,直接上代码:先是.h文件,用来定义成员方法和成员变量:#pragma once#define TRUE 1#define FALSE 0 //C语言里没有bool 故用宏定义实现 typedef int ElemType; typedef union Data { ElemType val; int length; }Data; typedef str...原创 2020-04-29 21:15:22 · 948 阅读 · 0 评论 -
C语言实现定长顺序表
线性表的顺序表示指的是用一组地址连续的存储单元一次存储线性表的数据元素,其中顺序表中所有存储的数据元素都是从data的0号下标连续的。这里我们要实现的,便是定长顺序表。首先我们先定义顺序表的结构:struct SeqList{ ElemType data[SIZE]; Int length;};其中SIZE是我选择用宏,因为是定长顺序表,没必要创造一个新变量。我们要实现的基本...原创 2020-04-10 14:45:45 · 227 阅读 · 0 评论 -
求阶乘N!末尾有几个0
方法其实很简单,实质是计算在阶乘当中出现的5的倍数的数字,因为只有5*2产生末尾1个0.遇到25等5的n次方数时则除等5,计算里面有几个5.int Zero(int n){int count = 0;while(n != 0){count += n/5;n /= 5;}return count;}int main(){printf("%d\n",Zero(25));pr...原创 2019-03-28 15:40:19 · 729 阅读 · 0 评论