码迷,mamicode.com
首页 >  
搜索关键字:交换元素    ( 50个结果
Remove Element
思路:数组元素删除操作较麻烦,这里采用的是交换元素法,利用两个指针分别指数组的开头下标和尾部下标,把要删除的元素放在数组的最后,最后返回前面指针的下标。Java代码: public int removeElement(int[] nums, int val) { int l = ...
分类:其他好文   时间:2015-08-08 19:36:56    阅读次数:162
【C】使用指针对数组中的元素换位问题
首先一条比较简单的问题: 输入10个整数,将其中最小的数字与第一个数字对换,把最大的数与最后一个数对换。 编写3个函数:(1)输入10个数字(2)进行处理(3)输出10个数字 思想如下图,使用一个长度为11的数组的第1~10位置存储这10个数,这样既符合人的思维又利用a[0]作为数据交换时候的临时存储空间, 代码如下,实现起来非常简单,主要是注意,C语言的指针是如何操作的,包括声明...
分类:编程语言   时间:2015-08-06 22:34:18    阅读次数:218
一起talk C栗子吧(第二十九回:C语言实例--选择排序)
各位看官们,大家好,上一回中咱们说的是希尔排序的例子,这一回咱们说的例子是:选择排序。闲话休 提,言归正转。让我们一起talk C栗子吧! 选择排序的原理是:从容器中选择一个最大或者最小的元素,把该元素放到新的容器中,等到容器中的所 有元素都被选择完后,新容器中存放的元素就是有序的。 在实现选择排序时,我通过交换元素的位置,充分利用了容器的空间,而没有创建新的容器,这...
分类:编程语言   时间:2015-08-02 20:04:02    阅读次数:136
【剑指offer 面试题14】调整数组顺序使奇数位于偶数前面
思路: 头尾指针,向中间遍历,依据条件交换元素。 1 #include 2 using namespace std; 3 4 void reOrder(int *pData, unsigned int len, bool (*func)(int)) 5 { 6 if(pData == ...
分类:编程语言   时间:2015-06-20 18:22:46    阅读次数:163
排序算法之冒泡排序
基本思想: 冒泡排序是通过交换两个元素实现的,其思想是: 第一趟将待排序序列(A[0]~A[n-1])从前往后,两两相邻元素进行比较,若后者小,则交换,比较n-1次; 第一趟结束后,最大元素被交换到A[n-1]处(即沉底),下一趟排序只需要在(A[0]~A[n-2])中进行; 若在某趟排序中,未交换元素,说明子序列已经有序,则不在进行下一趟排序。该方法最多进行n-1趟。 冒泡排序...
分类:编程语言   时间:2015-05-05 19:40:20    阅读次数:139
Exchanger源码Android版剖析
Exchanger是一个针对线程可以结对交换元素的同步器。每条线程把某个对象作为参数调用exchange方法,与伙伴线程进行匹配,然后再函数返回的时接收伙伴的对象。另外,Exchanger内部实现采用的是无锁算法,能够大大提高多线程竞争下的吞吐量以及性能。 算法实现     基本方法是维持一个“槽”(slot),这个槽是保持交换对象的结点的引用,同时也是一个等待填满的“洞”(hole)。如...
分类:移动开发   时间:2014-07-16 17:23:36    阅读次数:484
topcoder SRM 618 DIV2 MovingRooksDiv2
一开始Y1,Y2两个参数看不懂,再看一遍题目后才知道,vector索引代表是行数,值代表的是列此题数据量不大,直接深度搜索即可注意这里深度搜索的访问标识不是以前的索引和元素,而是一个交换元素后的整个状态vector,这样可以避免重复元素的搜索 set > visit; bool flag...
分类:其他好文   时间:2014-06-17 14:05:10    阅读次数:203
Codeforces Round #249 (Div. 2) B. Pasha Maximizes
看到题目的时候,以为类似插入排序,比较第i个元素和第i-1个元素,如果第i个元素比第i-1个元素小,则不交换如果第i个元素比第i-1个元素大,则交换第i个元素和第i-1个元素 继续比较第i-1个元素与前一个元素,直到前一个元素大为止交换元素次大于等于k则停止但对测试用例1234 3则出现问题,如果....
分类:其他好文   时间:2014-06-14 21:46:18    阅读次数:191
线性排序:计数排序与基数排序
前面讨论了几种排序算法,三种O(n2)时间复杂度的排序算法:插入,选择和冒泡和两种O(nlgn)的算法:快速排序和归并排序。这几种排序数组除了归并排序需要额外的数组开销。其他几个的空间复杂度都是O(1)。通过比较交换元素完成排序.计数排序是利用空间换取时间,增加了两个额外数组的开销,而且计数排序有一...
分类:其他好文   时间:2014-05-30 03:29:19    阅读次数:241
Leetcode 位运算 Single Number
题意:在一组数组中除一个元素外其它元素都出现两次,找出这个元素 思路:位运算。异或。因为异或操作可以交换元素的顺序,所以元素异或的顺序没影响, 最后出现再次的元素都会被异或掉,相当于0和只出现一次的那个元素异或,结果还是那个元素 推广:这个方法也适合于出现其它元素都出现偶数次,而要找的元素出现奇数次的情况 相关题目:Single Number II class Solution...
分类:其他好文   时间:2014-05-11 02:37:42    阅读次数:397
50条   上一页 1 ... 3 4 5
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!