逆置单链表
1000(ms)
65535(kb)
2666 / 6788
建立长度为n的单链表,然后将其数据元素逆置,即第1个元素变为最后一个元素,第2个元素变为倒数第2个元素,以此类推,最后一个元素变为第1个元素。(处理的数据类型为字符型。必须使用链表完成。)
输入
第一行为链表长度n; 第二行为链表中的n个数据元素的值。
输出
逆置后的原始的值。
样例输入
10 ABCDEFGHIJ
样例输出
J I H G F E D C B A
一个头插法就ok。。。。。。。。。。。。。。。。。。。。。。。
#include<iostream> #include<stdlib.h> using namespace std; typedef struct node { char data; struct node *next; }Sqlist; int main() { int n; Sqlist *l,*r; l=(Sqlist *)malloc(sizeof(Sqlist)); l->next=NULL; cin>>n; for(int i=0;i<n;i++) { r=(Sqlist *)malloc(sizeof(Sqlist)); cin>>r->data; r->next=l->next; l->next=r; } l=l->next; while(l) { cout<<l->data<<" "; l=l->next; } return 0; }