C语言学习
DL&ML
这个作者很懒,什么都没留下…
展开
-
插入排序原理以及C语言实现
常见的排序算法,包括像冒泡排序、选择排序、插入排序等等这些常见的排序算法,背后的原理以及相应的代码实现需要我们一一深究。下面我们主要探究一下插入排序背后的原理以及代码实现。如下,我们定义数组aint a[7]={12,20,8,,17,52,49,6};数组在内存中的数据结构如下:选择排序开始-------》第一轮,首先使第一个位置的元素为有序的,如下图然后判断...原创 2019-03-31 20:03:11 · 2890 阅读 · 1 评论 -
杨辉三角的C语言实现
杨辉三角的C语言实现我们在数学中学习过杨辉三角的基本知识,他的数学描述如下:// 1 ---->第一行// 1 1 ---->第二行// 1 2 1 ---->第三行// 1 3 3 1 ---->第四行// 1 4 6 4 1 ---->第五行...原创 2019-04-01 11:08:40 · 4480 阅读 · 0 评论 -
堆和栈的比较
堆和栈的比较在数据结构中有一个堆栈的概念,是指栈,而不是堆和栈的统称。堆和栈是采用动态存储分配方式管理的内存区域。其中栈是在程序执行时由系统分配和回收,而堆是通过程序员编写的代码,在程序运行时动态分配和回收。下面从不同方面比较栈和堆的区别。**内存分配方式和回收方式不同:**栈由编译器自动分配和释放,用来存放函数的参数值、局部变量的值等。而堆一般是由程序员分配释放,若程序员不释放,程序结束时...原创 2019-04-02 21:06:07 · 245 阅读 · 0 评论 -
C语言实现选择排序
选择排序原理选择排序是一种比较直观的排序方式,类似与整理扑克牌。每一次从待排序的数据元素中选择一个最小(最大)的数据元素,放在序列的起始位置,然后再从未排序的数据元素中选择一个最小(最大)的数据元素,放在有序序列的末尾。因为在这个新插入数据元素的前面,是每一次挑选出来的都比它小的数据元素,因此把这个新选出的最小的元素插入在有序序列的末尾,构成新的更长的有序序列。**因此,选择排序的核心思想是每...原创 2019-07-08 08:51:13 · 900 阅读 · 0 评论 -
二路归并排序C++实现
二路归并排序基本思想二路归并排序就是将两个有序子表归并成一个有序表。首先我们得有一个算法用于归并:两个有序表放在同一数组的相邻位置上,arr[left]到arr[center-1]为第一个有序表,arr[center]到arr[right]是第二个有序表。每次从两端中取出一个进行比较,小的先放在一个temp数组,最后将比较剩下的直接放到temp中去,最后将temp又复制回arr。这是“治”...原创 2019-07-13 11:20:21 · 2692 阅读 · 0 评论 -
快速排序C语言实现
C语言实现快速排序快速排序的核心思想:会把待排序数组中的一个数当作基准数,一般会把最左边的数当作基准数,然后从两边开始进行检索。先从右边开始检索比基准数小的,检索到了就停下,然后再从左边开始检索比基准数大的,检索到了就停下,交换这两个位置的数,继续检索,直到两个检索下标重合为止,此时交换基准数和这个重合位置的值。这样一来保证了这个重合位置的左边都是比它小的,右边都是比它大的数。当基准数和相遇...原创 2019-07-14 11:15:23 · 2355 阅读 · 0 评论