数据结构
CJ_Study_Home
嵌入式软件工程师的路上
展开
-
斐波那契
#include "stdio.h"int Fbi(int i) /* 斐波那契的递归函数 */{ if (i < 2) return i == 0 ? 0 : 1; return Fbi(i - 1) + Fbi(i - 2); /* 这里Fbi就是函数自己,等于在调用自己 */}int main(){ int i; int a[40]; printf("...原创 2018-07-24 19:48:24 · 210 阅读 · 0 评论 -
队列满与空的条件
充分利用队列的存储空间,我们可以把队列想象成一个首尾相接的圆环,即将队列中的第一个元素接在最后一个元素的后面,我们称这样的队列为循环队列; 队满的条件:(rear+1)%MaxSize = front(此时,循环队列中能装入的元素的个数为MaxSize) 队空的条件:rear=front...原创 2018-07-25 21:11:29 · 16104 阅读 · 2 评论 -
队列
简单的写一下队列的操作。/*(1)清空队列(2)判断是否为空(3)元素的个数(4)入队列(5)出队列(6)取对头元素*/#define MAXSIZE 10typedef struct{ int data[MAXSIZE]; int front; int rear;}Squeue;//1清空队列bool clearSqueue(Squeue* q...原创 2018-07-30 21:05:01 · 281 阅读 · 0 评论 -
双向链表
双向链表的头插尾插和删除。关于链表这一块,其实很简单,只要记得操作的时候,先对新的结点操作,再操作前后。没有编译。可能有问题,仅供参考。/***************************************************************************** FileName: 双向链表.cAuthor: xx Version : ...原创 2018-07-30 21:10:27 · 119 阅读 · 0 评论 -
二叉树链表结构实现
拿一段以前老师的代码二叉树的功能/操作:1、初始化2、清空3、构建二叉树4、前、中、后序遍历二叉树5、二叉树的深度 学习二叉树的时候,非常要注意的是,形参是二级指针。前中后序遍历的递归算法,要好好理解。老师的这个代码,个人觉得好在求树的深度,这个当初自己没有想到。#include "string.h"#include "stdio.h" #i...原创 2018-07-30 21:16:27 · 2514 阅读 · 0 评论 -
快速排序---简解
快速排序是真的块。简单的说一下快排的思想:第一步,找出一个键值,通常取第一个元素,用temp中间变量暂存,left和right为排序范围的左边界和右边界。第二步、从右边找出比temp小的放入i下标的位置。i++。第三步、从i+1的位置往后找到比temp大的值放入j下标处。第四步、知道i >=j..第一次排序做好了,然后重复步骤。。排序left到j - 1,i+1 到r...原创 2018-08-10 20:54:16 · 145 阅读 · 0 评论 -
八大排序算法总结
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 算法一:插入排序 插入排序示意图插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对...原创 2018-08-13 09:03:50 · 184 阅读 · 0 评论