
C++数组的问题 求一算法
如定义一个数组inta[6]={1,22,13,44,55,6,3,4,5,45}怎样写一个算法能将其倒置过来inta[6]={45,5,4,3,6,55,44,13,2...
如定义一个数组 int a[6]={1,22,13,44,55,6,3,4,5,45} 怎样写一个算法能将其倒置过来int a[6]={45,5,4,3,6,55,44,13,22,1}
展开
6个回答
展开全部
6个元素的数组a怎么能放下10个数?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前面五个和后面五个对应交换位置就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的方法:再定义一个数组,将原数组从最后一个元素开始向前赋给新建的数组,最后再将这个赋好值的数组,赋给原数组,用两个for循环就搞定了
麻烦一点的话,就使用临时变量赋值的方法,将首尾交换,可以采用指针,两个指针,一个指尾,一个指头,交换之后,指针的位置加一,减一。都很容易
void reverse(int a[],int n){
int *p=a,*q=a+n-1;
int temp;
while(p<q){
temp=*p;
*p=*q;
*q=temp;
p++;
q--;
}
}
麻烦一点的话,就使用临时变量赋值的方法,将首尾交换,可以采用指针,两个指针,一个指尾,一个指头,交换之后,指针的位置加一,减一。都很容易
void reverse(int a[],int n){
int *p=a,*q=a+n-1;
int temp;
while(p<q){
temp=*p;
*p=*q;
*q=temp;
p++;
q--;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i = 0;
int j = 5;
while(i < j){
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
j--;
}
也可以用stack但那样还需要额外空间
int j = 5;
while(i < j){
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
j--;
}
也可以用stack但那样还需要额外空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询