数据结构
Longevity。
这个作者很懒,什么都没留下…
展开
-
链式二叉树
链式二叉树定义和函数申明#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#include <math.h>#define TYPE int typedef struct Node{ ...原创 2019-07-13 13:22:43 · 243 阅读 · 2 评论 -
关于二叉树后序遍历和递归
关于二叉树后序遍历和递归 一些基础递归题目来源牛客网→剑指offer 跳台阶:一只青蛙可以一次性跳1个台阶也可以一次性跳两个问青蛙一次性跳n个台阶有几种跳法。 解题思路:首先如果我们按照正常的思路想一只青蛙跳一个台阶的跳法肯定只有1种,跳两个台阶的方法肯定只有2种,拿我们跳三个台阶的方法我们是否可以想成先跳一个台阶在跳剩余两个台阶和先跳了两个台阶在跳剩余一个台阶这两种方式,所以依...原创 2019-07-17 16:11:46 · 187 阅读 · 1 评论 -
排序算法之冒泡排序
冒泡排序void bubble_sort(int* arr,size_t len){ for(int i=len-1;i>0;i--) { //标志位,标志是否存在交换 bool flag = true; for(int j=0;j<i;j++) { if(arr[j] >arr[j+1]) { //交换函数自己定义的,若前一个数大于后...原创 2019-08-04 17:40:17 · 258 阅读 · 0 评论 -
排序算法之插入算法
插入排序插入排序,从名字中我们就可以看出了这是一个插入的排序,而且差入排序,也比较适用于在有序的基础上插入若干个元素后进行重新排序void insert_sort(int* arr,size_t len){ for(int i=1;i<len;i++) { int t = arr[i],k = i; for(int j = i-1;j>=0 && ar...原创 2019-08-04 18:44:38 · 181 阅读 · 0 评论 -
查找算法
查找算法之顺序查找int order_find(int* arr,size_t len,int key){ if(len == 0) return -1; for(int i = 0;i < len;i++) { if(arr[i] == key) return i; } return -1;}顺序查找是最简单的一种查找算法,简单来说就是通过遍历来找到相同的值,...原创 2019-08-09 12:05:16 · 108 阅读 · 0 评论 -
快速排序算法
快速排序快速排序的基本思想:通过一趟将带排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对着两部分记录继续进行排序,一达到整个序列有序列的目的。因为快速排序也是运用了递归的原理,因此我在外封装了一个函数,来实现调用void _quick_sort(int* arr,size_t left,size_t right){ //递归跳出的条件当left &...原创 2019-08-24 14:34:11 · 133 阅读 · 0 评论