算法—字符串顺序平移

原理:矩阵的转置思想

代码:

#include <stdio.h>
#include <stdlib.h>
void swap(char *a,int i, int j) {//交换二个变量的值char temp = a[i];a[i] = a[j];a[j] = temp;
}
void invert(char *a,int s, int e) {//对称反转  e-s+1的一半的个数而不是s+efor (int i = 0; i < (e-s+1) / 2; i++) {swap(a,s + i,e - i);}
}
void printChar(char *a, int n) {//遍历for (int i = 0; i < n; i++) {printf("%c", a[i]);}
}
void movePart(char* a,int k,int n) {//整体向前移动k个invert(a,k, n);invert(a, 0, k - 1);invert(a, 0, n);
}
int main42() {char a[10] = "123456789";int length = sizeof(a) / sizeof(a[0])-1;int k = 3;printf("向前平移%d个单元前:\n",k);printChar(a,length);printf("\n向前平移%d个单元后\n",k);movePart(a, k, length-1);printChar(a, length);printf("\n");system("pause");return 0;
}

测试截图:

时间复杂度O(n),空间复杂度O(1)

如果存在什么问题,欢迎批评指正!谢谢!

算法---字符串顺序平移相关推荐

  1. python【蓝桥杯vip练习题库】ADV-313字符串顺序比较

    试题 算法提高 字符串顺序比较 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 比较两个字符串s1和s2,输出:0表示s1与s2相等:1表示s1的字母序先于s2:-1表示s1的字母序 ...

  2. 字符串:字符串顺序比较、删除子字符串、字符串压缩

    算法提高 字符串顺序比较 题目 问题描述比较两个字符串s1和s2,输出:0表示s1与s2相等:1表示s1的字母序先于s2:-1表示s1的字母序后于s2输入格式输入两行,第一行输入一个字符串1,第二行输 ...

  3. 集合处理后,按原先输入的字符串顺序排序

    s = input() ls = list(set(s)) #集合无序,需要先转换为列表再排序 ls.sort(key = s.index) # 按输入字符串顺序重排序 输出 包含不重复人名的列表,名 ...

  4. Apriori算法、FP-Growth算法、顺序分析、PrefixSpan算法

    Apriori算法.FP-Growth算法.顺序分析.PrefixSpan算法 目录 Apriori算法.FP-Growth算法.顺序分析.PrefixSpan算法 Apriori算法 FP-Grow ...

  5. Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)

    Algorithm:C++语言实现之字符串相关算法(字符串的循环左移.字符串的全排列.带有同个字符的全排列.串匹配问题的BF算法和KMP算法) 目录 一.字符串的算法 1.字符串的循环左移 2.字符串 ...

  6. C++Rabin Karp算法字符串快速查找(附完整源码)

    C++Rabin Karp算法字符串快速查找 C++Rabin Karp算法字符串快速查找完整源码(定义,实现,main函数测试) C++Rabin Karp算法字符串快速查找完整源码(定义,实现,m ...

  7. 每天一道LeetCode-----给定字符串s和字符数组words,在s中找到words出现的位置,words内部字符串顺序无要求

    Substring with Concatenation of All Words 原题链接Substring with Concatenation of All Words 题目意思是给定字符串s和 ...

  8. php 将字符串打乱,PHP内部实现打乱字符串顺序函数str_shuffle的方法

    前言 2019年春节已过,今天是上班第一天,还得翻一翻之前没有看完的PHP源码. 今天聊的是字符串顺序打乱函数str_shuffle.这个函数本身使用频率并不高.但是,其内部实现还是非常有趣的. st ...

  9. 数据结构之查找算法:顺序查找

    查找算法:顺序查找 思维导图: 顺序查找的定义: 顺序查找的代码实现: 顺序查找的性能: 思维导图: 顺序查找的定义: 顺序查找的代码实现: typedef struct { //查找表数据结构int ...

最新文章

  1. 引导界面(二)使用ViewPager实现欢迎引导页面
  2. 2高并发服务器:多线程服务器
  3. appium定位WebView页面元素
  4. 老的消息中间件投递失败的类型值_图文结合了解一下Java消息中间件的概述
  5. r语言转化为python_数值型与字符型转换总结|R语言
  6. Peter's smokes -poj 2509
  7. C语言期末成绩计算机平均分,用C语言编程平均分数
  8. Windows下搭建Octopress博客
  9. 草根站长的创业之路(真实纪实)
  10. Asp.Net在SqlServer中的图片存取
  11. iOS 中实现随机颜色
  12. 【springmvc】springmvc基本知识
  13. 计算机软件版本号是什么意思,带你深入了解解密Windows系统版本和版本号
  14. 三级数据库知识点总结
  15. 人工智能语料库技术是什么?来看科普!
  16. java解析JSON的方法汇总
  17. 0基础跟着黑马程序员学微信小程序前端开发Day02(自学笔记)
  18. win10系统电脑修改注册表设置自动锁屏时间
  19. [附源码]java毕业设计政府公用车辆管理系统
  20. Java freemarker 生成word文档

热门文章

  1. Android之用sharedUserId来实现不同应用(APK)数据共享
  2. 实现线段切割法_漫画:如何实现抢红包算法?
  3. 计算机模拟考总结,高职单考单招计算机模拟一技术总结.doc
  4. 软件配置管理(五)常用重构技巧
  5. 实验 5 性能测试脚本录制和开发实验报告--软件功能测试与性能测试实验
  6. 这些肢体语言竟然是这个意思! | 今日最佳
  7. 李国庆离开当当,广东消委会告长隆,智能校服提供定位功能,全球首个5G火车站来了,这就是今天的大新闻...
  8. 程序员,为什么给你50万年薪,你还要搞死我公司?
  9. 编程从业五年的十四条经验,句句朴实
  10. 纠结学哪种编程语言?请看这个回答