码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。讲已有有序的子序列合并,得到完全有序的序列:即先使每个子序列有序,再使子序列段间有序。 归并操作的工作原理(将二个有序数列合并): 第一步:申请空间,使其大小为已经排序序列之和,该空间用来存放合并后的序列。 第二步:设定两个指针,最初为之分,最初位置分别为两个已经排序序列的起始位置。 第三步:比较两个指...
分类:编程语言   时间:2015-04-28 11:43:44    阅读次数:147
数据结构之—线性表之—双向链表之—浅谈双循环链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 /********************************************************************** * Copyright (c)2015,...
分类:其他好文   时间:2015-04-27 18:32:49    阅读次数:129
了解指针(2)-- 指针算术
指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。指针加1的结果等于原来的地址值加上指向的对象占用的总字节数。指针的相减将得到一个整数,仅当两个指针指向同一个数组时这种运算才有意义,这将得到两个元素的间隔。 例1: char a[20]; int *ptr=(int *)a; //强制类型转换并不会改变 a 的类型 ptr++;     在上例中...
分类:其他好文   时间:2015-04-27 10:00:32    阅读次数:92
OJ练习30——T125 Valid Palindrome
判断字符串是否是回文。字母、数字都算在内;空串也是回文。【思路】经典回文,两个指针,一个从前向后遍历,一个从后向前,遇到不是要求字符的就跳过。前后指针位置交叉(i>j),则遍历结束。特殊的地方在于,包含字母和数字,如果一一排除,代码很繁琐。【my code】bool isPalindrome(str...
分类:其他好文   时间:2015-04-27 09:31:19    阅读次数:118
leetcode_80题——Remove Duplicates from Sorted Array II(两个指针)
Remove Duplicates from Sorted Array IITotal Accepted:38480Total Submissions:125235My SubmissionsQuestionSolutionFollow up for "Remove Duplicates":What...
分类:其他好文   时间:2015-04-26 19:45:54    阅读次数:153
如何判断单链表中有环及证明过程
问题:1.如何判断单链表里面是否有环?算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?假定单链表的长度为n,并且该单链表是环状的,那么第i...
分类:其他好文   时间:2015-04-24 21:05:20    阅读次数:140
奔走在算法的大路上(一)排序之归并排序
归并排序(Merge sort)是创建在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 归并操作 归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。算法描述 归并操作的过程如下:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 设定两个指针,最初...
分类:编程语言   时间:2015-04-24 16:28:48    阅读次数:141
分治法快排
//快速排序,第一步确定一个关键值key(一般设置为第一个元素),一次快排基本思路是将比key小的数放在key的左边将比key大的数放在key右边,于是完成一次快排接下来对key左边和右边分别递归采用同样方法算法步骤: 1.选择一个基准key(一般选第一个元素) 2设定两个指针low和high,初始...
分类:其他好文   时间:2015-04-23 21:35:08    阅读次数:183
C++学习笔记(十五):vector对象在内存空间中是如何增长的
vector对象在内存空间中是如何增长的   我们都知道vector对象是动态存储的,从这一点看有点像链表,可以动态的增加或减少元素。我们也知道链表中是有指针变量,专门用于存储上一个和下一个元素的地址。正是因为这两个指针的存在,我们才能做到动态的存储数据,即不用像数组那样必须事先申请好空间。链表的缺点就是不能够快速的随机访问其中元素,必须通过指针层层查找。 但是,vector既可以实现动态存...
分类:编程语言   时间:2015-04-22 15:24:53    阅读次数:172
linux 硬连接与软连接
1、linux中文件占用一个inode,inode指向文件内容。2、文件名可以认为是一个指针,指向inode。硬连接相当于指针的整体拷贝,并不是对文件内容的拷贝。两个文件名(两个指针)都能修改文件,删除一个不影响另外一个,如下: [root@localhost home]# touch aaa [r...
分类:系统相关   时间:2015-04-20 00:16:31    阅读次数:172
1059条   上一页 1 ... 83 84 85 86 87 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!