今天学习数据结构与算法发现这个算法还是挺常用的,记录一下嘿嘿

 C++代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>
//解题思想  由AB得到BA 可以将A逆置,B逆置,再将AB同时逆置
//1 2 3 4 5 6 7 8
//循环左移3次
//4 5 6 7 8 1 2 3
void Reverse(int R[],int from,int to){
    int temp,i;
    for(i=0;i<(to-from+1)/2;i++)
    {
        temp=R[from+i];
        R[from+i]=R[to-i];
        R[to-i]=temp;  
    }  
}
 
void Converse(int R[],int n,int p){
    Reverse(R,0,p-1);
    Reverse(R,p,n-1);
    Reverse(R,0,n-1);  
}
int main(){
    int a[]={1,2,3,4,5,6,7,8};
    Converse(a,8,3);
    for(int i=0;i<8;i++)
    {
        printf("%d ",a[i]);
         
    }
     
}

  解题分析

 

 

 

posted on   upupup-999  阅读(400)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!



点击右上角即可分享
微信分享提示