#include <iostream> #include <cstring> using namespace std; struct sLinkNode { char data; sLinkNode* next; }; class CLinkNode { string str; sLinkNode *sln; public: CLinkNode(string s) { str = s; list(); } void list(); void show() { for (sLinkNode *t=sln;t;t=t->next) { cout<<t->data<<" "; } cout<<endl; } }; void CLinkNode::list () { int sc = str.length(); sLinkNode *pi; for (int i=0;i<sc;i++) { if (0==i) { pi = new sLinkNode; pi->data = str[i]; pi->next =pi; sln = pi; } else { sLinkNode *temp = new sLinkNode; temp->data =str[i]; pi->next =temp; pi = temp; } } pi->next = NULL; } int main() { string s; //cin string int sc; //s count cin>>s; sc = s.length(); cout<<"string count num : "<<sc<<endl; cout<<"the end of str is : "<<s[sc-1]<<endl; cout<<endl; cout<<"--------------"<<endl; sLinkNode *pi; sLinkNode *pe; for (int i=0;i<sc;i++) { if (0==i) { pi = new sLinkNode; pe = pi; pi->data = s[i]; //cout<<pi->data<<endl; pi->next =pi; //pi = pe; } else { sLinkNode *temp = new sLinkNode; temp->data =s[i]; //cout<<pi->data<<endl; pi->next =temp; pi = temp; } //pi->next = NULL; } pi->next = NULL; sLinkNode *ps; ps = pe; cout<<"1:"<<endl; for(int i=0;i<sc;i++) { cout<<pe->data<<" "; pe=pe->next; } cout<<endl; cout<<"2:"<<endl; //pe->next = NULL; for(sLinkNode* s = ps;s;s=s->next) { cout<<s->data<<" "; } cout<<endl; cout<<"3:"<<endl; CLinkNode ndd(s); //ndd.list(); ndd.show(); }