摘要: 注意: 递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限 阅读全文
posted @ 2017-04-26 21:41 荒唐了年少 阅读(324) 评论(0) 推荐(0) 编辑
摘要: /* 队列:一种先进先出的线性表,它只允许在表的一端插入元素,另一端 删除元素,其中插入元素的一端叫做队尾,删除元素的一端叫做对头。 静态队列——使用一维数组储存队列中的元素,一个指针(front)指向 队头,一个指针(rear)指向队尾。 使用的数组必须是循环数组 */ # include # include # include #define LEN 6 // 定义队列长度... 阅读全文
posted @ 2017-04-18 22:30 荒唐了年少 阅读(701) 评论(0) 推荐(0) 编辑
摘要: /* 利用双向链表解决约瑟夫环问题(也可以使用循环链表) 问题描述: 将n个人围成一圈开始报数,每次报到m的人出列,它的下一个 人从1开始重新报数,直到所有玩家出列。 解决思路,使用一个双向循环链表模拟整个游戏成员,每一个节点 代表一玩家。 */ # include # include # include // 双向链表类型定义 typedef struct NOD... 阅读全文
posted @ 2017-04-17 22:15 荒唐了年少 阅读(3779) 评论(0) 推荐(0) 编辑
摘要: // 数据结构 栈的实现 C语言, 只能从头部储存和销毁数据 # include # include # include // 线性储存部分 typedef struct NONE { int data; struct NONE * pNext; }None, * pNone; // 栈的头部和底部 typedef struct stack { pNone... 阅读全文
posted @ 2017-04-16 11:53 荒唐了年少 阅读(293) 评论(0) 推荐(0) 编辑
摘要: /* 顺序表示的线性表——顺序表 定义:线性表是由n个相同类型的数据元素组成的有限序列。线性表的数据 元素具有序偶关系,即数据元素之间具有一定次序。 线性表按照储存方式可以分成顺序储存和链式储存。线性表的顺序储存是指 将线性表中的元素储存在一组连续的储存单元中。例如数组。 顺序表的特点有:逻辑上相邻的元素在物理上也是相邻的。线性表的顺序储 存结构是一种随机存取的储存结构。 */ // 以... 阅读全文
posted @ 2017-04-16 11:52 荒唐了年少 阅读(286) 评论(0) 推荐(0) 编辑
摘要: /* 链式表示的线性表 定义:采用一组任意储存单元存放线性表的元素,这组存储单元可以是 连续的,也可以是不连续的。 1.单链表 2.循环单链表 3.双向链表 以单链表为基础,单链表的每一个节点有一个数据域和一个指针域,指 针域存放的是下一个节点的地址,而尾节点的指针域为NULL,他有一个 头结点,头结点没有数据,只用于... 阅读全文
posted @ 2017-04-16 11:52 荒唐了年少 阅读(287) 评论(0) 推荐(0) 编辑
摘要: /* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include # include int main(void) { // 不受限制的字符串函数 char * ch1 = "Hello World!"; // 此处有警告 char ch2[20] = "Hello World!"; // 计算字符... 阅读全文
posted @ 2017-04-15 10:15 荒唐了年少 阅读(268) 评论(0) 推荐(0) 编辑
摘要: /* 折半插入排序是对插入排序的一种改进,主要思想是在查找插入位置的过程中 引入折半查找算法思想,利用折半查找在有序集中确定待排序元素的插入位置 与直接插入排序的区别: 直接插入排序是从右到左按顺序查找插入位置。 折半插入排序是在有序集中查找插入位置。 */ # include # define LEN 6 void Half_Insert_Sort(int arr[]... 阅读全文
posted @ 2017-04-12 20:44 荒唐了年少 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 转载自http://www.cnblogs.com/lifuqing/archive/2011/08/20/List.html 十分感谢作者 #include "stdafx.h" #include "stdio.h" #include <stdlib.h> #include "string.h" 阅读全文
posted @ 2017-03-30 20:34 荒唐了年少 阅读(969) 评论(0) 推荐(0) 编辑
摘要: // 测试多维数组与指针 /* 运行结果: a = 6487584, &a[0] = 6487584, &a[0][0] = 6487584, *a = 6487584, **a = 1 a[0] = 6487584, a[0][0] = 1 b = 6487552, &b[0] = 6487552 阅读全文
posted @ 2017-03-28 13:19 荒唐了年少 阅读(316) 评论(0) 推荐(0) 编辑