C语言实现一个函数左旋字符串中K个字符的方法有哪些
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"C语言实现一个函数左旋字符串中K个字符的方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言实现一个函数左旋字符串中K个
千家信息网最后更新 2026年11月01日C语言实现一个函数左旋字符串中K个字符的方法有哪些
这篇文章主要讲解了"C语言实现一个函数左旋字符串中K个字符的方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言实现一个函数左旋字符串中K个字符的方法有哪些"吧!
法一、将左旋1次这个动作执行k次
这个方法的思路我来简单介绍一下:
现有1个字符串abcd
我们将a移出来,然后bcd前会空出一个位置

将bcd向前移动一个位置,最后把a放入最后一个位置,即可完成1次左旋

那么1次完成了,对于左旋k次呢?实际上也就是把上述操作再执行k-1次。
代码如下(示例):
#include#include void left_move(char*arr, int k)//arr传过来的是首元素地址,你可以用一个指针去接收{ assert(arr); int i = 0; int len = strlen(arr);//计算arr的长度 for (i = 0;i < k;i++) { int j = 0; char tmp = *arr; for (j = 0;j < len - 1;j++) { arr[j] = arr[j + 1];//arr[j]=*(arr+j) } arr[len - 1] = tmp; }}int main(){ int x = 0; char arr[] = "abcd"; printf("输入你想左旋几个字符:\n"); scanf("%d", &x); left_move(arr, x); printf("%s\n", arr);}
ps:这里多使用一个assert是为了防止函数传过来的是空指针,会进行断言,如果传的是空指针,系统会报错
法二、多次逆序字符串
我们以ABCDEF左旋2次进行举例:
左旋2次也就是把AB移动到CDEF后面,下面看我操作,先将AB、CDEF分为两个组
将两个组分别逆序
最后整体逆序得到最终结果CDEFAB
那么左旋k次也就是把2变成k即可,整体仍然是这3个步骤,非常方便
代码如下(示例):
#include#include void reverse(char*l, char*r)//逆序函数{ assert(l&&r); while (l < r) { char tmp = *l; *l = *r; *r = tmp; l++; r--; }}void left_move(char*arr, int k){ assert(arr); int len = strlen(arr); reverse(arr,arr+k-1);//第一个组逆序 reverse(arr+k,arr+len-1);//第二个组逆序 reverse(arr,arr+len-1);//整体逆序}int main(){ int x = 0; char arr[] = "abcdef"; printf("输入你想左旋几个字符:\n"); scanf("%d", &x); left_move(arr, x); printf("%s\n", arr);}
ps:关于每一次的逆序函数:以abcd举例,就是a和d换位,b和c换位,得到dcba,然后这样的逆序进行三次即可得到所谓的左旋。
感谢各位的阅读,以上就是"C语言实现一个函数左旋字符串中K个字符的方法有哪些"的内容了,经过本文的学习后,相信大家对C语言实现一个函数左旋字符串中K个字符的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
左旋
字符
逆序
函数
字符串
方法
语言
也就是
位置
指针
整体
学习
两个
代码
内容
就是
思路
示例
移动
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有格互联网科技
工业互联网科技新基建
伴你行互联网科技有限公司
互联网科技宣传片
科技与互联网的利与弊
上海宁丞科技互联网
湖南一路畅行互联网科技
互联网媒体平台算高科技产业
健康食品互联网创新科技园项目
内蒙古九一互联网科技
广东工业互联网大赛深圳学泰科技
江苏互联网科技小贷
科技互联网行业投资研究
互联网科技新闻
唯美互联网科技
美国五大互联网科技公司市值多少
三亚科技创新互联网基地
互联网科技大佬云集
科技美学互联网 艺术
高科技和互联网的现代国家
互联网科技有限公司
互联网科技股
互联网金融 金融科技
有马互联网科技
奇酷互联网科技公司
迪茉互联网科技
苏州大垚互联网科技
丰台科技园 互联网公司
兰石爱特工业互联网科技分公司
互联网科技创新方面的资料