對(duì)于指針一直很迷,今天看了一下指針交換數(shù)組,知識(shí)量很少,希望能幫助到大家。
利用指針來(lái)交換數(shù)組主要是為了節(jié)省時(shí)間嘛,有兩種交換方式
第一種是寫(xiě)一個(gè)函數(shù)把數(shù)組傳過(guò)去然后用swap交換,即可
代碼如下:
#include<iostream>#include<cstdio>#include<ctime>using namespace std;int a[100000050],b[100000050];void da(int *a,int *b){  swap(a,b);  cout<<a[1]<<" "<<b[1]<<endl;}int main(){  double tmp=clock();  a[1]=1,b[1]=2;   da(a,b);  printf("%.2lf",(double)((clock()-tmp)/CLOCKS_PER_SEC));  return 0;}但是這樣的交換只在函數(shù)里有用,到主函數(shù)里還是相當(dāng)于沒(méi)有交換,所以我們還有另一種方法
#include<iostream>#include<cstdio>#include<ctime>using namespace std;int a[100000050],b[100000050];int main(){double tmp=clock();a[1]=1,b[1]=2;int *op1=a;int *op2=b;swap(op1,op2);cout<<op1[1]<<" "<<op2[1]<<endl;printf("%.2lf",(double)((clock()-tmp)/CLOCKS_PER_SEC));return 0;}代碼里都有時(shí)間函數(shù),讀者可以自己運(yùn)行一下看看時(shí)間,應(yīng)該是0.00
以上這篇c++用指針交換數(shù)組的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注