-
//当一维数组作为函数参数的时候,编译器总是把它解析成一个指向数组首元素首地址的指针
-
//因此DirectInsertSort的函数形式有两种:DirectInsertSort(int a[],int n);DirectInsertSort(int *a,int n);
-
-
#include<iostream>
-
using namespace std;
-
-
int DirectInsertSort(int a[],int n)
-
{
-
//cout<<sizeof(a)<<endl;
-
for(int i=2;i<=n-1;i++)
-
{
-
if(a[i]<a[i-1])
-
{
-
a[0]=a[i];
-
a[i]=a[i-1];
-
for(int j=i-2;a[0]<a[j];--j)
-
a[j+1]=a[j];
-
a[j+1]=a[0];
-
}
-
}
-
return 0;
-
}
-
/*
-
int main()
-
{
-
int array[9]={-100,7,25,9,2,13,8,4,1};
-
DirectInsertSort(array,9);
-
for(int i=1;i<9;i++)
-
cout<<array[i]<<' ';
-
return 0;
-
-
-
}
-
*/
-
-
int main()
-
{
-
int k;
-
int array[6];
-
for(int i=0;i<6;i++)
-
{
-
printf("please input array[%d] value:",i);
-
scanf("%d",&k);
-
array[i]=k;
-
}
-
printf("current array value:\n");
-
for(i=1;i<6;i++)
-
printf("%d ",array[i]);
-
DirectInsertSort(array,6);
-
printf("after sort,the array is:\n");
-
for(i=1;i<6;i++)
-
printf("%d ",array[i]);
-
return 0;
- }
运行结果: