算法
文章平均质量分 73
Dreamerella
一个人的命运啊,你就无法预料,既要有个人的努力,也要考虑历史的进程。你说我一个搬砖的,怎么就来敲键盘了呢?
展开
-
如何只用一句话交换两个变量
交换两个变量一般会使用下面这种方法:int a=2,b=4int c=aa=bb=c这样的教科书一样的方法是标准的。利用异或的性质还可以使用另一种方法:a^=bb^=aa^=b这样也是正确的。或者我们可以把它缩减成两句:b^=a^=ba^=b这样也可以得到正确的结果(先不论这样对不对)。事已至此,不妨更进一步:a^=b^=a^=b这样就得到了一句话交换两个元素的方法,但这样是否行得通呢?原创 2016-10-14 18:24:36 · 1237 阅读 · 0 评论 -
双线程排序的简单实现
数据量非常大的时候用多线程排序应该会很快的吧,虽然网上有不少多线程排序的例子,但是感觉都很复杂的样子,所以今天我们用最基础的知识写一个最简单的,用的是java语言。 如果使用多线程的话,快速排序应该是最合适的,因为快排是分区进行的(Arrays.sort()中可以找到快速排序的代码)。我们先利用快排算法把数组分成两部分:关于快速排序可以参考这个(需要稍作修改以应对数组中有重复元素的情况) htt原创 2016-10-15 17:22:36 · 602 阅读 · 1 评论