Mryqu's Notes


  • 首页

  • 搜索
close

[算法] O(0)的exch函数

时间: 2014-01-10   |   分类: Algorithm.DataStruct     |   阅读: 66 字 ~1分钟

常用的exch函数:

public static void exch(int[] nums, int i, int j) {
  int tmp = nums[i];
  nums[i] = nums[j];
  nums[j] = tmp;
}

不使用辅助空间的exch函数:

public static void exch(int[] nums, int i, int j) {
  nums[i] ^= nums[j];
  nums[j] ^= nums[i]; 
  nums[i] ^= nums[j]; 
}

控制流及nums[i]和nums[j]状态如下:

|nums[i]|nums[j] |— |= nums[i] ^ nums[j]|/ |/|= nums[j] ^ (nums[i] ^ nums[j])
= nums[i] |= (nums[i] ^ nums[j]) ^ nums[i]
= nums[j]|/

标题:[算法] O(0)的exch函数
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#算法# #exch# #swap# #o(0)#
用JS处理粘贴而来的HTML表单
ClusterShell实践
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%