最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)數(shù)組的循環(huán)移位的方法示例

 更新時間:2019年08月15日 09:26:52   作者:xz1996  
這篇文章主要介紹了C語言實現(xiàn)數(shù)組的循環(huán)移位的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

算法

Reverse Array (數(shù)組翻轉)

code

void reverse(int array[], int left, int right)
{
 int l, r;
 for (l = left, r = right; l < r; l++, r--)
 {
  array[l] = array[l] ^ array[r];
  array[r] = array[l] ^ array[r]; // l ^ r ^ r = l ^ 0 = l.
  array[l] = array[l] ^ array[r]; // l ^ r ^ l = r ^ 0 = r;
 }
}

上述代碼通過異或運算來高效實現(xiàn)變量值的交換,請記?。?/p>

  • 任何數(shù)與0異或的結果都是它本身。
  • 任何數(shù)與1異或的結果都是它的相反數(shù)。

循環(huán)左移

假設我們循環(huán)左移n位,則實現(xiàn)的步驟是:

  1. 翻轉數(shù)組的前n位元素;
  2. 翻轉數(shù)組剩下的元素;
  3. 再翻轉整個數(shù)組,然后就實現(xiàn)了循環(huán)左移n位的功能。

以上步驟的順序也可以改為step2 -> step1 -> step3.

code:

reverse(array, 0, left_shift_num - 1);
reverse(array, left_shift_num, array_size - 1);
reverse(array, 0, array_size - 1);

循環(huán)右移

假設我們循環(huán)右移n位,則實現(xiàn)的步驟是:

  1. 翻轉數(shù)組的后n位元素;
  2. 翻轉數(shù)組剩下的元素;
  3. 再翻轉整個數(shù)組,然后就實現(xiàn)了循環(huán)右移n位的功能。

以上步驟的順序也可以改為step2 -> step1 -> step3.

code:

reverse(array, 0, array_size - right_shift_num - 1);
reverse(array, array_size - right_shift_num, array_size - 1);
reverse(array, 0, array_size -1);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

赫章县| 连州市| 葫芦岛市| 卢氏县| 工布江达县| 华容县| 华容县| 平湖市| 双辽市| 永清县| 台江县| 前郭尔| 河池市| 乌拉特前旗| 阜新市| 河池市| 枣强县| 双城市| 正蓝旗| 开化县| 且末县| 万荣县| 喀喇沁旗| 佛坪县| 兰坪| 林州市| 濮阳县| 紫金县| 金塔县| 陇西县| 咸阳市| 宁夏| 天镇县| 西吉县| 安福县| 客服| 龙游县| 阿坝| 华蓥市| 内江市| 毕节市|