#include <iostream> #include <stack> using namespace std; struct LinkNode { int value; LinkNode *next; LinkNode(int x) { value=x; next=NULL; } LinkNode() { next=NULL; } }; class LinkList { public: LinkNode *first,*rear; int length=0; LinkList() { LinkNode *temp=new LinkNode(); rear=first=temp; } void rearinsert(int x)//尾插节点 { LinkNode *temp=new LinkNode(x); rear->next=temp; rear=temp; length++; } }; int main() { LinkList a; int x; while(cin>>x) { a.rearinsert(x); if(cin.get()=='\n') break; } int n; cin>>n; stack<int> s; LinkNode *p=a.first->next; int length=a.length; for(int i=0;i<length/n;i++) { for(int j=0;j<n;j++) { s.push(p->value); p=p->next; } while(!s.empty()) { cout<<s.top()<<" "; s.pop(); } } while(p!=NULL) { cout<<p->value<<" "; p=p->next; } }