算法之左旋转字符串(一)
来源:互联网 发布:阿里云新人礼包 编辑:程序博客网 时间:2024/05/01 17:29
首先说明一下,本类中的很多算法都来源于网友的博客,自己在实现的过程中遇到的和发现的问题在这里说一下,主要是供网友和自己学习交流之用。
#include <stdio.h>#include <string.h>//将数组中元素右移一位,arr代表数组,N是数组中元素个数,K是移动的位数void rightShift(int*arr,int N,int k){ int i;int j;k%=N;while(k--){int m=arr[N-1];for(i=N-1;i>0;i--){arr[i]=arr[i-1];}arr[0]=m;}for(j=0;j<N;j++){printf("%d",arr[j]);}}void main(){ int arr1[]={1,2,3,4,5,6,7,8};rightShift(arr1,8,9);}这个算法主要是引入左旋字符串之前所要简述的一个算法。是 将一个给定字符串向右移动固定位数,如果不加k%=N,(比如说一个数组有8个元素,如果向右移动9位,就代表向右移动了一位)事件复杂度为o(k*N);加上之后,时间复杂度为0(N*N).
另外,需要注意的是,在C语言里,for后面的小括号里是不可以定义变量的,需要拿到外面定义,否则会出错。
- 算法之左旋转字符串(一)
- 算法十二----左旋转字符串
- 一.字符串左旋转问题
- 算法之左旋转字符(二)
- 每天学习一算法系列(24)(实现字符串左旋转的函数)
- C++算法之 左旋转字符串中m个字符
- 微软之左旋转字符串
- 牛客网刷题之左旋转字符串
- 左旋转字符串(字符串)
- 左旋转字符串(字符串)
- 左旋转字符串(字符串)
- 数据结构——算法之(010)( 字符串的左旋转操作)
- 程序员编程艺术(算法卷):第一章、左旋转字符串
- 程序员编程艺术(算法卷):第一章、左旋转字符串
- 程序员编程艺术(算法卷):第一章、左旋转字符串
- (1)左旋转字符串
- 算法面试-学习笔记-左旋转字符串
- 编程算法 - 左旋转字符串 代码(C)
- 关闭SSH 连接用户
- 设备io的(同步异步io,iocp/epool等),以及iocp 和socket操作(求批判|讨论)
- C++标准库异常类继承层次
- 双Linux虚拟机串口通信
- 安装更改gcc或g++版本
- 算法之左旋转字符串(一)
- 几种编码的形式的介绍
- NetBeans IDE 7.1.1 运行时J2ME组件无法激活
- Linux网络相关配置(IP配置\DNS配置等)
- Linux 压缩包、解压缩包
- JAVA环境变量设置
- velocity.properties (系统默认的文件,放在这方便查看)
- 经典语录
- 向文件写入宽字符