首页 > 代码库 > C数组逆序
C数组逆序
一、标准交换模式
/****
*标准交换模式
*实现数组的逆序,原理就是数组的首尾元素进行交换
***/
#define N 5;
int main(){
int array[N] = {15,20,25,30,35}
int temp; //声明临时变量
int i;
for(i = 0;i<N/2;i++){
//第i个值和第N-i-1个值相交换
temp = array[i];
array[i] = array[N - i - 1];
array[N - i - 1] = temp;
}
printf("逆序:\n");
for(i = 0;i < N;i++){
printf("%d\t",*(array + i));
}
}
二、指针交换模式
/****
*指针交换模式
*实现数组的逆序,原理就是数组的首尾元素进行交换
***/
#define N 5;
int main(){
int array[N] = {15,20,25,30,35}
int temp; //声明临时变量
int i;
int *ptr_array_start = array;
int *ptr_array_end = array + N - 1;
while(ptr_array_start>=ptr_array_end){
//首尾交换,指针分别进行更新
temp = *ptr_array_start;
*ptr_array_start = *ptr_array_end;
*ptr_array_end = temp;
//首元素指针要向后移动
ptr_array_start++;
//末元素指针要向前移动
ptr_array_end--;
}
printf("逆序:\n");
for(i = 0;i < N;i++){
printf("%d\t",*(array + i));
}
}
C数组逆序