In: Computer Science
Write a function to sort data (in increasing order) in an array using a. pass by value b. and pass by reference.
1. Program: PASS BY VALUE
#include<iostream>
using namespace std;
void Sort(int [],int);
int main()
{
int A[] = {10,5,50,15,85,2,32,18};
int n = sizeof(A)/sizeof(A[0]);
Sort(A,n);
cout<<"Sort data in Increasing order:\n";
for (int i = 0; i < n; i++)
cout << A[i] << " ";
return 0;
}
void Sort(int A[], int n)
{
int i, j,temp;
for (i = 0; i < n-1; i++)
for (j = 0; j < n-i-1; j++)
if (A[j] > A[j+1])
{
temp= A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
Output:
2. Program: Pass By Reference
#include<iostream>
using namespace std;
void Sort(int *,int);
int main()
{
int A[] = {10,5,50,15,85,2,32,18};
int n = sizeof(A)/sizeof(A[0]);
Sort(A,n);
cout<<"Sort data in Increasing order:\n";
for (int i = 0; i < n; i++)
cout << A[i] << " ";
return 0;
}
void Sort(int *A, int n)
{
int i, j,temp;
for (i = 0; i < n-1; i++)
for (j = 0; j < n-1; j++)
if (A[j] > A[j+1])
{
temp= A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
Output: