/*
*将指针变量作函数参数(形参)接收数组地址
*C++编译系统将形参数组名一律当作指针变量来处理
*比如:
* void func(int array[],int n)
* void func(int* array,int n)
*上面两种方式是等价的;
* 因为在调用函数的时,系统会建立一个指针变量array,用来
*存放从主调函数传递过来的实参数组首元素的地址。
* 实际上在函数调用时并不存在一个占有存储空间的形参数组,只有指针变量
* 比如下面的例子:
*/
#include <iostream>
using namespace std;
void Select_Sort(int arr[],int n);
void SelectSort(int* arr,int n);
void Out_put(int arr[],int n);
void Output(int* arr,int n);
int main()
{
int array[7];
cout << "输入7个整数,为数组元素:";
for(int i = 0; i != 7; i++)
cin >> array[i];
//cout << sizeof(array) << endl;
Select_Sort(array,7);
Out_put(array,7);
cout << "----------------" << endl;
//SelectSort(array,7);
//Output(array,7);
return 0;
}
void Select_Sort(int arr[],int n)
{
//cout << sizeof(arr) << endl;
int j,Min;
for(int i = 0; i != n; i++)
{
Min = i;
for(j = i+1; j != n; j++)
{
if(arr[j] < arr[Min])
Min = j;
}
swap(arr[i],arr[Min]);
}
}
void SelectSort(int* arr,int n)
{
//cout << sizeof(arr) << endl;
/*int j , Min;
for(int i = 0; i != n; i++)
{
Min = i;
for(j = i+1; j != n; j++)
{
if(*(arr+j) < *(arr+i))
Min = j;
}
swap(*(arr+i),*(arr+Min));
}*/
int *q,*Min;
for(int* p = arr; p != arr+n; p++)
{
Min = p;
for(q = p+1; q != arr+n; q++)
{
if(*q < *Min)
Min = q;
}
swap(*p,*Min);
}
}
void Out_put(int arr[],int n)
{
for(int i = 0; i != n; i++)
cout << arr[i] << ' ';
cout << endl;
}
void Output(int* arr,int n)
{
for(int* p = arr; p != arr+n; p++)
cout << *p << ' ';
cout << endl;
}
*将指针变量作函数参数(形参)接收数组地址
*C++编译系统将形参数组名一律当作指针变量来处理
*比如:
* void func(int array[],int n)
* void func(int* array,int n)
*上面两种方式是等价的;
* 因为在调用函数的时,系统会建立一个指针变量array,用来
*存放从主调函数传递过来的实参数组首元素的地址。
* 实际上在函数调用时并不存在一个占有存储空间的形参数组,只有指针变量
* 比如下面的例子:
*/
#include <iostream>
using namespace std;
void Select_Sort(int arr[],int n);
void SelectSort(int* arr,int n);
void Out_put(int arr[],int n);
void Output(int* arr,int n);
int main()
{
int array[7];
cout << "输入7个整数,为数组元素:";
for(int i = 0; i != 7; i++)
cin >> array[i];
//cout << sizeof(array) << endl;
Select_Sort(array,7);
Out_put(array,7);
cout << "----------------" << endl;
//SelectSort(array,7);
//Output(array,7);
return 0;
}
void Select_Sort(int arr[],int n)
{
//cout << sizeof(arr) << endl;
int j,Min;
for(int i = 0; i != n; i++)
{
Min = i;
for(j = i+1; j != n; j++)
{
if(arr[j] < arr[Min])
Min = j;
}
swap(arr[i],arr[Min]);
}
}
void SelectSort(int* arr,int n)
{
//cout << sizeof(arr) << endl;
/*int j , Min;
for(int i = 0; i != n; i++)
{
Min = i;
for(j = i+1; j != n; j++)
{
if(*(arr+j) < *(arr+i))
Min = j;
}
swap(*(arr+i),*(arr+Min));
}*/
int *q,*Min;
for(int* p = arr; p != arr+n; p++)
{
Min = p;
for(q = p+1; q != arr+n; q++)
{
if(*q < *Min)
Min = q;
}
swap(*p,*Min);
}
}
void Out_put(int arr[],int n)
{
for(int i = 0; i != n; i++)
cout << arr[i] << ' ';
cout << endl;
}
void Output(int* arr,int n)
{
for(int* p = arr; p != arr+n; p++)
cout << *p << ' ';
cout << endl;
}