摘要:
这个栈是以数组形式实现。 先定义了一个结构体StructRecord,结构体里包括三部分,栈的容量,栈顶元素的位置,和存储栈元素的数组,执行测试文件TestStack.c时需要输入栈的容量,以此来确定一个栈。 实现栈的一些规范操作,创造栈,插入,删除等。包括两个头文件Stack.h,fatal.h, 阅读全文
摘要:
这个栈是带有表头的栈。实现栈的一些规范操作,初始化,插入,删除等。包括两个头文件Stack.h,fatal.h,库函数Stack.c,测试函数TestStack.c。头文件放的都是函数声明,库函数Stack.c放的的函数的定义。 Stack.h fatal.h Stack.c TestStack.c 阅读全文
摘要:
单链表形式实现排序算法。 这个快速排序主要利用递归调用。包含4个文件,头文件QuickSort.h,fatal.h,库函数QuickSort.c,测试文件TestQuickSort。 QuickSort.h fatal.h 库函数QuickSort.c 测试文件TestQuickSort: 阅读全文
摘要:
功 能: 快速排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *)); 参数: 1 待排序数组首元素的地址 2 数组中待排序元素数量 3 各元素的占用 阅读全文
摘要:
此算法借用快速排序算法。 这个快速选择算法主要利用递归调用,数组存储方式。包含3个文件,头文件QuickSelect.h,库函数QuickSelect.c,测试文件TestQuickSelect。 其中Cutoff可以自己给定,这个当开始给定的数组(或者递归调用产生的子数组)的元素个数<=20个时, 阅读全文
摘要:
这个快速排序主要利用递归调用,数组存储方式。包含3个文件,头文件QuickSort.h,库函数QuickSort.c,测试文件TestQuickSort。 其中Cutoff可以自己给定,这个当开始给定的数组(或者递归调用产生的子数组)的元素个数<=20个时,采用插入排序。一般认为当元素个数<=20时 阅读全文
摘要:
(必看)选择哪种排序算法,先参考这个网站查看排序速度演示https://www.toptal.com/developers/sorting-algorithms/ 各种排序详解可以参考http://sjjp.tjuci.edu.cn/sjjg/datastructure/ds/web/paixu/p 阅读全文
摘要:
转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数 阅读全文
摘要:
转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数 阅读全文
摘要:
桶排序是一种效率很高的排序算法,它的时间复杂度为O(N+M),(N个元素,范围为0--M),但桶排序有一定的限制,必须为非负整数,而且元素不宜过大。 算法思想: 设待排序序列的元素取值范围为0到m,则我们新建一个大小为m+1的临时数组并把初始值都设为0,遍历待排序序列,把待排序序列中元素的值作为临时 阅读全文