欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

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

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

算法

Reverse Array (數(shù)組翻轉(zhuǎn))

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;
 }
}

上述代碼通過(guò)異或運(yùn)算來(lái)高效實(shí)現(xiàn)變量值的交換,請(qǐng)記?。?/p>

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

循環(huán)左移

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

  1. 翻轉(zhuǎn)數(shù)組的前n位元素;
  2. 翻轉(zhuǎn)數(shù)組剩下的元素;
  3. 再翻轉(zhuǎn)整個(gè)數(shù)組,然后就實(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)右移

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

  1. 翻轉(zhuǎn)數(shù)組的后n位元素;
  2. 翻轉(zhuǎn)數(shù)組剩下的元素;
  3. 再翻轉(zhuǎn)整個(gè)數(shù)組,然后就實(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);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

上一篇:VS2010+Opencv+MFC讀取圖像和視頻顯示在Picture控件

欄    目:C語(yǔ)言

下一篇:c語(yǔ)言階乘之和問(wèn)題示例詳解

本文標(biāo)題:C語(yǔ)言實(shí)現(xiàn)數(shù)組的循環(huán)移位的方法示例

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/225.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有