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 项交换位置
最新推荐文章于 2024-05-22 00:26:43 发布