乞力马扎罗的雪CYF的博客

与您分享IT技术,实现共同进步。

C语言实现双向非循环链表(不带头结点)的清空

我在之前一篇博客《C语言实现单链表的基本操作》实现了如何清空一个单链表,现在换成了双向的非循环链表,整体思路是一样的。代码上传至:https://github.com/chenyufeng1991/ClearDoubleLinkedList  。核心代码如下:Node *ClearDoubleLi...

2016-02-28 13:23:37

阅读数 2417

评论数 0

C语言实现双向非循环链表(不带头结点)的节点插入

我在之前一篇博客中《C语言实现双向非循环链表的逆序打印》讲到了如何逆序输出一个双向非循环链表,让我们对这种链表类型有了理性的认识。今天我们要来实现的是对双向非循环链表进行节点的插入。大家可以和《C语言实现单链表节点的插入》单链表的节点插入对比着学习。代码上传至  https://github.co...

2016-02-28 10:08:34

阅读数 3365

评论数 1

C语言实现双向非循环链表(不带头结点)的逆序打印

我在上一篇博客中《C语言实现双向非循环链表》实现了如何构造一个双向非循环链表,并实现了正向打印。我还在之前一篇博客《C语言实现单链表的逆序打印》中实现了单链表的逆序打印。这篇博客我们来实现对双向非循环链表进行逆序打印,实现起来非常的简单。代码已经上传至 https://github.com/che...

2016-02-27 20:55:15

阅读数 3599

评论数 0

C语言实现双向非循环链表(不带头结点)的基本操作

双向链表也叫双链表,它的每个数据节点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任何一个节点开始,都可以很方便的访问它的前驱结点和后继节点。别人常常来构造双向循环链表,今天我们特立独行一下,先来尝试构造双向非循环链表。示例代码上传至  https://github.com/ch...

2016-02-27 20:02:13

阅读数 3781

评论数 0

经典算法学习——单链表(不带头结点)实现冒泡排序

我在之前一篇博客《经典算法学习——冒泡排序》中简单实现了使用数组进行冒泡排序。这篇博客我们将来实现使用链表如何排序,其实整体的思路是一样的。示例代码上传至: https://github.com/chenyufeng1991/BubbleSortLinkedList 。算法描述如下:(1)比较相邻...

2016-02-26 14:53:56

阅读数 4342

评论数 4

C语言实现单链表(不带头结点)的逆序打印

我在前面几篇博客中《C语言实现链表节点的插入》《C语言实现链表节点的删除》《C实现头插法和尾插法来构建链表》《C语言实现链表的基本操作》实现了链表的很多增删改查操作。这里我们要来实现链表的逆序打印,使用C来实现。代码上传至 https://github.com/chenyufeng1991/Rev...

2016-02-26 13:17:49

阅读数 4253

评论数 0

C语言实现单链表(不带头结点)节点的插入

对链表进行增删改查是最基本的操作。我在上一篇博客《C语言实现链表节点的删除》实现了删除链表中的某个节点。这里我们要来实现在某个位置插入节点。示例代码上传至https://github.com/chenyufeng1991/InsertList  。核心代码如下:Node *InsertToPosi...

2016-02-25 20:57:32

阅读数 4245

评论数 0

C语言实现单链表节点的删除(不带头结点)

对链表节点进行增删改查是最基本的操作,这篇博客将会来实现对节点的删除。其他的操作可参考《C语言实现链表的基本操作》这篇博客。删除某个节点有两个类型:(1)删除i某个位置的节点;(2)判断x值是否在链表中,若存在则删除该节点;实例代码已经上传至 https://github.com/chenyufe...

2016-02-25 18:21:14

阅读数 7692

评论数 0

C实现头插法和尾插法来构建单链表(不带头结点)

链表的构建其实也就是不断插入节点的过程。而节点的插入可以分为头插法和尾插法。头插法就是在头结点后插入该节点,始终把该节点作为第一个节点。尾插法就是在链表的最后一个节点处插入元素,作为最后一个节点。如果想要了解链表的概念和其他链表操作,请参考《数据结构与算法之链表》《C语言实现链表的基本操作》两篇文...

2016-02-25 13:05:18

阅读数 5844

评论数 0

C语言中的那些库函数(持续更新中)

1.【exit()】        exit是在调用处强行退出程序,运行一次程序就结束。exit(0)表示正常退出。exit(1)表示异常退出,这个1是返回给操作系统的。无论是写在main函数中,还是在其他函数中,都是程序退出。一般都是认为0是正常退出、其他数字是异常退出。所在的头文件是stdli...

2016-02-24 23:31:12

阅读数 4353

评论数 2

C语言实现单链表(不带头结点)的基本操作

链表在数据结构和算法中的重要性不言而喻。这里我们要用C来实现链表(单链表)中的基本操作。对于链表的基本概念请参考《数据结构与算法之链表》这篇博客。示例代码上传至 https://github.com/chenyufeng1991/LinkedList 。(1)定义单链表的节点类型typedef i...

2016-02-24 16:33:47

阅读数 8032

评论数 1

数据结构与算法之链表

链表的分类:(1)单链表头插法:只需要维护一个头结点即可,常用来模拟堆栈;尾插法:需要维护头结点和尾结点,常用来模拟队列。(2)双向链表双向遍历,可以用来保存网页的历史记录等;(3)循环链表经常出现在面试题中,判断链表是否有环。链表的删除方式一:维护两个指针,current(表示当前节点)和pre...

2016-02-23 16:41:15

阅读数 2565

评论数 1

数据结构与算法之数组

数组的基本概念:数组是最简单最常用的数据结构,但是也有一些注意事项:(1)数组的分配方式以及存储位置;(2)初始化;(3)不同语言中的数组高级定义;(4)多维数组;C/C++中数组分配方式:(1)int a[10];适用于数组长度已知或者对数组长度不敏感的情况,比如定义一个字符串。(2)int *...

2016-02-23 13:14:56

阅读数 2118

评论数 1

经典算法学习——哈希查找

哈希查找也称为散列查找。所谓的哈希其实就是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。哈希技术既是一种存储方法,也是...

2016-02-23 09:26:09

阅读数 5830

评论数 1

C语言typedef struct详解

在C中定义一个结构体要用typedef,如:typedef struct Student { int a; }Stu;于是在声明变量的时候就可以:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)。这里的Stu实际上就是struct Stud...

2016-02-17 17:55:10

阅读数 7876

评论数 0

C语言typedef详解

在C还是C++代码中,typedef都使用的很多。typedef与#define有些相似,其实是不同的。基本定义:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括基本数据类型(int,char),也包括自定义的数据类型(struct)。(1)与#define的...

2016-02-17 16:51:11

阅读数 14087

评论数 1

经典算法学习——归并排序

归并排序算法采用的是分治算法,即把两个或两个以上的有序表合并成一个新的有序表的过程。首先把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2路归并。实现代码已经上传至: https://github.com/chenyufeng1991/Mer...

2016-02-16 17:42:44

阅读数 2517

评论数 2

国内大型门户网站iOS面试题

拿到该市值很高的门户网站offer颇不容易,总共经历了四面,其中前三面都是技术面,面试时间加起来120+ min。现在我把面试题和大家进行分享,希望在交流中实现共同进步。一面(16min)+二面(52min)1.一组正整数数字,如何找出两个数加为100的组合;(首先要排序)2.assign和wea...

2016-02-07 10:05:14

阅读数 4595

评论数 4

国内搜索大哥iOS面试题

每一次面试之后都会对问到的面试题进行总结。这篇总结的是我面试某大型搜索公司的iOS面试题,一面(15min)+二面(30min),并拿到实习offer。当然在今天这个特殊的节日,祝大家新年快乐,希望大家都能拿到合适的offer。一面电面:15min;1.算法:数组中(无序的正整数数)如何找到第n大...

2016-02-07 09:53:00

阅读数 3814

评论数 2

国内在线旅游巨头iOS面试题

首先今天祝大家新年快乐!如果你今天还在看这篇博客,那么你对写代码绝对是真爱。下面是我在面试某公司iOS开发实习生的面试题(拿到offer),今天作为福利分享给大家。一面技术面(90min)1.线程,有哪几种线程类型及使用;NSThread,NSOperationQueue,GCD;2.内存管理,内...

2016-02-07 09:42:44

阅读数 4096

评论数 0

提示
确定要删除当前文章?
取消 删除