一、參照-可以直接變更另一個變數的值
寫法
型態& 參照名稱=變數;
例如:
int a=5;
int& RA=a; //RA是a的參照
RA=10; //改了RA,a也跟著改
將參照使用在函數的參數
#include <iostream>
using namespace std;
void swap(int& x,int& y){ //x是N1的參照,y是N2的參照
cout<<"執行swap.....\n";
int tmp;
tmp=x;
x=y;
y=tmp; //swap後x,y互換,所以N1,N2被互換
}
int main(){
int N1=5,N2=10;
cout<<"N1="<<N1<<",N2="<<N2<<endl;
swap(N1,N2);
cout<<"N1="<<N1<<",N2="<<N2;
}
作業:將輸入的多筆資料從大到小排序
註:請參考排序法
參考答案
#include <iostream>
using namespace std;
void swap(int& x,int&y){
//cout<<"執行swap\n";
int tmp;
tmp=x;
x=y;
y=tmp;
}
int main(){
int N;
cout<<"請輸入資料數:";
cin>>N;
int data[N];
cout<<"請輸入"<<N<<"個整數:";
for(int i=0;i<N;i++)
cin>>data[i];
for(int i=0;i<N;i++)
for(int j=i+1;j<N;j++)
if(data[j]>data[i])
swap(data[i],data[j]);
cout<<"排序後"<<endl;
for(int i=0;i<N;i++)
cout<<data[i]<<endl;
}