黑马程序员技术交流社区
标题: 逆序一个数组的代码实现 [打印本页]
作者: hanxujie 时间: 2015-6-14 18:13
标题: 逆序一个数组的代码实现
这个很重要,以后可能常考,现总结一下,有备无患!
#include <stdio.h>
/**
* 逆序数组用for
*
* @param a 数组名
* @param len 数组长度
*/
void nixuArr(int a[],int len){
//定义一个指数组指针
int *p=a;
//定义下标并且实现转换
for (int i=0,j=len-1; i<j; i++,j--) {
int temp;
temp =*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
/**
* 逆序数组用wile
*
* @param a 数组名
* @param len 数组长度
*/
void nixuArr2(int a[],int len){
//定义一个数组指针
int *p=a;
//定义下标
int j=len-1;
int i=0;
while (i<j) {
//实现下标转换
int temp;
temp = *(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
i++,j--;
}
}
int main(int argc, const char * argv[]) {
// 输入一个数组
int arr[10]={1,2,3,4,5,6,7,8,9,10};
//带入函数
nixuArr(arr,10);
//遍历数组并且打印
for (int i=0; i<10; i++) {
printf("%d\t",arr);
}
return 0;
}
作者: 白0702 时间: 2015-6-14 21:02
楼主总结的很好,学习了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |