读书散文

2024-02-25 数字与人

2024-02-24  本文已影响0人  阿蒙2077

计算机中,一个字符串,比较相邻的两个字符,记录下小的字符,如果两个字符相等,就分别向后移一位,再比较,如果再相等,就继续分别向后移一位,再比较,如果向后移位没有字符了,就移到开始位置,直到比较出大小。

可以看出在一个环状结构中,有不同的元素,用循环移位的方法比较两个相同的元素,即两个元素相等,就比较它俩关系相同的元素,直到分出大小

虽然不懂循环移位的原理,但很符合社会上的现象呀;就像两个成绩相当的学生,体育成绩也一样,就去比较竞赛成绩;就像两个年轻人,拼爹拼不过,拼爷爷;计算机是科学的,逻辑严谨的,社会上这种比较方式可能也是有合理的依据的吧

代码如下:


#include<iostream>

#include<string>

using namespace std;

int n,i,j,ans;

string s;

char get(int i)

{

if(i<n) return s[i];

else return s[i-n];

}

int main(){

cin>>s;

n=s.size();

ans=0;

for(i=1;i<=n-1;i++)

{

for(j=0;j<=n-1;j++)

if(get(i+j)<get(ans+j))

{

ans=i;

break;

}

else if(get(i+j)>get(ans+j))break;

}

for(j=0;j<=n-1;j++)

cout<<get(ans+j);

cout<<endl;

return 0;

}

上一篇 下一篇

猜你喜欢

热点阅读