码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
排序算法分析【五】:归并排序(附Python&C++代码)
归并排序:将两个已经排序的串行合并成一个串行的操作。 算法描述如下: 申请空间,使其大小为两个已经排序串行之和,该空间用来存放合并后的串行;设定两个指针,最初位置分别为两个已经排序串行的起始位置;比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;重复步骤3直到某一指针到达串行尾将另一串行剩下的所有元素直接复制到合并串行尾...
分类:编程语言   时间:2014-08-21 22:49:05    阅读次数:292
实现一个算法从一个单链表中返回倒数第n个元素(keep it up)
我们维护两个指针, 它们之间的距离为n。然后,我将这两个指针同步地在这个单链表上移动,保持它们的距离 为n不变。那么, 当第二个指针指到空时,第一个指针即为所求。 #include struct Node { int data; Node* next; }; void initList(Node* vNode) { for (int i=0; i < 20; ++i) {...
分类:其他好文   时间:2014-08-19 01:00:33    阅读次数:257
算法题——翻转链表中的一段
题目:给出一个链表中的两个指针p1和p2,将其之间的结点翻转。思路:可以通过交换结点内的值来实现结点的翻转,空间为O(N);如果要求不能交换值,那么仅凭p1和p2是无法翻转的,只能交换两个指针之间的链表。代码:交换值: 1 struct ListNode 2 { 3 int val; 4 ...
分类:其他好文   时间:2014-08-18 23:31:53    阅读次数:257
【C语言】两个指针(地址)相减
两个指针相减,为两个指针之间间隔这两个指针类型的数目。如:int *p,*q;p-q=(p地址-q地址)/sizeof(int)#include int main(){ int a[9]={1,2,3,4,5,6,7,8,9}; char *p,*q; int *p2,*q2; ...
分类:编程语言   时间:2014-08-18 01:25:23    阅读次数:259
求两个单链表公共结点
题目:输入两个单链表,找出公共结点。 思路:若两个单链表有公共结点,其形状必定为“Y”型,也就是说公共结点后的所有结点都是相同的。 我们首先获得两个链表的长度,求得长度之差为n,再定义两个指针分别指向两个链表首部,长链表先走n步,然后两个指针同时走,直到两个指针所指向的值完全相同时停止。 代码: /* 求链表公共结点 */ #include #inclu...
分类:其他好文   时间:2014-08-17 11:48:52    阅读次数:164
判断单链表是否有环相关问题(转载加总结)
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出...
分类:其他好文   时间:2014-08-17 11:34:22    阅读次数:236
Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.思路:使用两个指针分别以1、2的速度遍历链表,以定位出链表的中点,进而将链表分割成...
分类:其他好文   时间:2014-08-17 02:21:36    阅读次数:246
Linked List Cycle
这个题目就是用两个指针遍历链表,一个指针每次跳一步,另外一个指针每次跳两步,如果重合,则说明有环。 1 #define NULL 0 2 3 class Solution { 4 public: 5 bool hasCycle(ListNode *head) { 6 Lis...
分类:其他好文   时间:2014-08-14 19:27:19    阅读次数:185
给定一个整数数组,奇数位于偶数前面
两个指针,一个指向最前,一个指向最后,依次进行交换 代码: #include using namespace std; //使奇数位于偶数前面 void reSort(int *pData,int length){ if(NULL == pData || length <= 0) return ; int *pBegin = pData; int *pEnd = pDat...
分类:其他好文   时间:2014-08-12 13:37:14    阅读次数:143
Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?思路:使用两个指针slow和fast,分别以1和2的速度遍历链表。若链表中存在环,则...
分类:其他好文   时间:2014-08-11 20:45:12    阅读次数:230
1059条   上一页 1 ... 97 98 99 100 101 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!