關於數值交換的幾種方法

2021-07-23 19:56:58 字數 679 閱讀 2547

在大量的開發中常常會遇到需要交換兩個數值的問題,今天就給大家分享一些數值交換方面的方法:

第一種方法:

這也是大家最容易想到的方法,即利用中間變數達到交換兩個數的目的,具體如下:

int tmp;

tmp = i1;

i1 = i2;

i2 = tmp;

這種方法執行效率是最低了

第二種方法:

利用數學中的運算技巧:

i1 = i1 + i2;

i2 = i1 - i2;

i1 = i1 - i2;

這樣也可以實現兩個數的交換

第三種方法:

則是利用位運算中的異或來實現資料交換

i1 = i1 ^ i2;

i2 = i1 ^ i2;

i1 = i1 ^ i2;

這種方式的執行效率相對來說比較高。

源**如下:

#include

void swap1(int i1,int i2)

void swap2(int i1,int i2)

void swap3(int i1,int i2)

int main(void)

執行結果:

數值交換的幾種方法

1 最簡單 最標準的一種方法,建立乙個臨時變數 int main 2 在不建立臨時變數的情況下交換兩個數的值 1 通過加減乘除的方法交換數值 define crt secure no warnings 1 include 交換兩個數的內容 int main 由於int定義整型變數,佔四個位元組。它定...

陣列位置交換的幾種方法

1.引入第三個變數 var arr one two var item arr 0 arr 0 arr 1 arr 1 item 2.splice方法,splice 方法會直接對陣列進行修改,splice 方法向 從陣列中新增 刪除專案,然後返回被刪除的專案。arr.splice 1,1,arr 0 ...

交換兩個數的幾種方法

這是最常用的交換兩數的方法 void swap 1 int a,int b 有兩種方法。1 採用加減的方法,這種方法容易越界 void swap 2 int a,int b 2 採用按位異或的方法 void swap 3 int a,int b 這兩種方法並不常用甚至有些時候容易出bug,但有時面試...