今天学到了指针,可是我还是不怎么会运用指针,于是使用了最简单的方法
代码如下:
void sort(int a[],int n){
int i,j;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i]>a[j]){
int t;
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
经过改进后,我使用了指针;
代码如下:
void sort(int *a, int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (*(a + i) > *(a + j)) {
int t = *(a + i);
*(a + i) = *(a + j);
*(a + j) = t;
}
}
}
}
在这个修改后的版本中,sort函数接受了一个整数读写的指针int *a和读写的大小n参数,并使用指针操作来进行指针指针的访问和交换。主要的更改是使用指针(如)来访问指针指针,*(a + i)并对它们之前进行比较和交换。其他部分的逻辑与代码类似。
c++与其类似只需把中间交换函数的部分用swap简便化