
数据结构
文章平均质量分 65
卖鱼的小白菜
这个作者很懒,什么都没留下…
展开
-
希尔排序shell sort
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。//以上来自百度百科。 Shell基本思想: 将整个序列分成m个子序列,对每个子序列分别排序。逐步减少子序列列数m,直至m=1为止。n=10;通常我们第一次取的增量 d=n/2,对比之后将小的数放到前面,原创 2014-06-08 01:07:24 · 791 阅读 · 0 评论 -
奇数阶幻方求解
该方法是将幻方盘看成是可以循环往复的,将第一个数原创 2014-11-06 19:54:37 · 808 阅读 · 0 评论 -
谷歌:1024!的末尾有多少个零
原文地址:不要被阶乘吓倒转载 2014-06-23 21:33:14 · 1172 阅读 · 0 评论 -
在排序数组中,找出给定数字的出现次数 比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
在排序数组中,找出给定数字的出现次数比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。乍一看,挺简单的,遍历原创 2014-06-15 23:30:28 · 2081 阅读 · 0 评论 -
给定一个数组和一个数字,给定的数组里是否存在两个数字之和等于给定的数字
/* 2014-10-19 by 不吃青瓜*//*原题大概意思: 给定一个数组a[10],数据范围 1-15 另外给定一个数字 x,范围 2-10 问是否能在数组 a 中找到两个数字的和等于 x*/#includebool findIt(int *arr , int n, int x){ int temp[16]; int i; for( i=0;原创 2014-10-19 19:29:54 · 1299 阅读 · 0 评论 -
选择排序,冒泡排序,双向冒泡排序
#include#define N 10void BubbleSort(int *BS , int n){ int i=0; int j=0; int temp; for( i=N-1; i>-1 ; i--) { //注意别让数组越界 for(j=0;j<i;j++) { if(BS[j]>B原创 2014-06-09 00:40:29 · 962 阅读 · 0 评论 -
用C语言实现函数void * memmove(void *dest, const void *src, size_t n)
用C语言实现函数void * memmove(void *dest, const void *src, size_t n)。memmove函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。注意考虑地址#includevoid * memmove(void *dest, const void *src, size_t n){ if(dest==NULL原创 2014-06-14 12:01:08 · 1186 阅读 · 0 评论 -
堆排序
/* 堆排序,如果仅仅是通过看一些PPT演示,或者图片过程演示,看起来虽然很容易理解的堆排序的思想, 但是因为是树形演示,总有一种实现起来很麻烦的感觉,但其实不然,通过数组的方式来实现, 代码还是很容易理解的,可通过代码来进步巩固自己的堆排序思想*/#include//两数交换void swap( int * a, int *b){ int temp原创 2014-06-25 10:04:34 · 554 阅读 · 0 评论 -
三种机器数,原码,补码,反码
计算机中的数均放在寄存器中,通常称寄存器的位数为机器字长。 无符号数:即没有符号的数,在寄存器中每一位均可用来存放数值。 有符号数:即有符号的数,在寄存器中需要留出相应的位置来存放符号位。 因此,即使寄存器的位数相同,甚至是在同一个寄存器中,所能表示的无符号数和有符号数的数值范围是不同的。对于同一串二进制码来说,看成有符号数,无符号数,原码,补码,正翻译 2014-06-08 11:23:09 · 2920 阅读 · 0 评论 -
求数组的最大子数组之和以及最大子数组之积
参考自@陈利人 先生维护的微信公众账号@待字闺中转载 2014-10-19 19:01:05 · 550 阅读 · 0 评论 -
快速排序
*通过一趟快速排序将待排数据分割成独立的左中右三个部分,其中,中部分只含一个数,左边部分的所有关键字都比这个数小,右边部分的所有关键字都比这个数大。*然后再按此方法对这两部分记录分别进行快速排序,直到所有记录整理成有序序列。原创 2014-06-09 13:57:43 · 580 阅读 · 0 评论 -
计数排序
计数排序** 计数排序是一种非比较式算法,要求数据元素为整型。 ** 设数据元素(整数)的个数为n,数据元素最大值和最小值的差值为m。如果m2n,计数排序算法的时间复杂度小于比较式排序算法。 说明:我们还是以军训整理队列队伍为例子。假设一排有10人,身高是150—180cm那我们需要画出一个长度为180+1长度的数组 array里,然后将身高为t的人放到array原创 2014-06-09 11:41:04 · 515 阅读 · 0 评论 -
马踏棋盘
马踏棋盘这个其实很简单,就是判断好八个原创 2014-06-08 01:31:55 · 959 阅读 · 0 评论 -
C语言泛型链表
不像 C++ 和 Java, C 语言不支持泛型。如何用C语言创建一条支持所有数据类型的链表? 在C语言里,我们可以使用 void 指针和函数指针来支持泛型功能。void 指针最牛逼的地方就在于它支持各种数据类型,当然所有数据类型的指针大小都是一样的,所以我们总是可以创建一个指针节点。函数指针需要处理存储在 void 指针里这内容。下面是一个用 C 语言实现的泛型链表。翻译 2018-04-11 10:10:24 · 946 阅读 · 0 评论