void reverse(int a[],int left, int right)
{
int temp;
while(left<right)
{
temp = a[left];
a[left] = a[right];
a[right] = temp;
left++;
right--;
}
}
void show(int a[],int len)
{
for(int i=0;i<len;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
int main()
{
int array[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
int len = sizeof(array)/sizeof(array[0]);
int m=5;
int n=3;
reverse(array,0,m-1);
reverse(array,len-n,len-1);
cout<<"交换前后项:"<<endl;
show(array,len);
//
reverse(array,0,len-1);
reverse(array,n,len-m-1);
cout<<"数组整体逆序,中间段再逆序:"<<endl;
show(array,len);
}
数组的前 m 项和后 n 项交换位置
最新推荐文章于 2023-11-11 22:50:15 发布
该程序定义了一个voidreverse函数用于数组的逆序操作,通过两个指针left和right进行交换。在main函数中,首先对数组的前m个元素和后n个元素进行逆序,然后展示结果;接着对整个数组逆序,再对中间段逆序,再次展示结果,实现了数组的不同部分逆序功能。
5万+

被折叠的 条评论
为什么被折叠?



