您的位置:首页 > 其它

C数组逆序

2017-02-26 18:02 190 查看
一、标准交换模式

/****

*标准交换模式

*实现数组的逆序,原理就是数组的首尾元素进行交换

***/

#define N 5;

int main(){

int array
= {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
= {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));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: