##字符串的逆序存储
这两天在学习过程中看到一个关于字符串的逆序存储问题,在思考之后想到了该如何去实现,在下做一简单的描述。
字符串的逆序存储,具体来说可以将整个字符串放在一个数组之中,然后进行数组里面的位置互换:
Data =A.Str [i];
A.Str [i]=A.Str [j];
A.Str [j]=Data ;
运行如图(逆序存储了第一位和第五位):
完整的代码如下:
#include <iostream>
using namespace std;
#define m 5
typedef struct{
char Str[m];
}sstring;
void addstring(sstring &A){
char data;
for(int i=0;i<m;i++){
cout<<"请输入字符串的数据:"<<endl;
cin>>data;
A.Str [i]=data;
}
}
void printstring(sstring &A){
for(int i=0;i<m;i++){
cout<<A.Str [i]<<" ";
}
cout<<endl;
}
void nixu(sstring &A){
int i=0,j=m-1;
char Data;
while (i!=j){
Data =A.Str [i];
A.Str [i]=A.Str [j];
A.Str [j]=Data ;
i++;
j--;
}
}
void main(){
sstring A;
addstring (A);
cout<<"打印字符串:"<<endl;
printstring (A);
nixu (A);
cout<<"字符串反转之后再打印:"<<endl;
printstring (A);
}
运行结果附图: