uva 11988 brooken keyboard(悲劇テキスト)


あなたは壊れたキーボードを持っています.すべてのキーは正常に動作します. 和 endボタンは時々自動的に押します.この問題の存在を知らないで、一心不乱に原稿を書いて、スクリーンさえ開けていません.スクリーンを開けたら、悲劇のテキストです.あなたの任務はこの悲劇のテキストを計算することです.
サンプル入力
This_is_a_[Beiju]_テキスト
[][][]Happy_Birthday_to_Tsuinghua.ユニバーサルシティ
サンプル出力
BeijuThis_is_a_.テキスト
Happy_Birthday_to_Tsuinghua.ユニバーサルシティ
考え方:1つの文字を取り、カーソルの位置に挿入するには、チェーンで実現しなければなりません.配列で要素を頻繁に移動すると、タイムアウトします.
ポインターリンク:
#include
#include
using namespace std;
struct node
{
	char c;
	node *next;
}; 
int main()
{
	string s;
	node *head ,*tail,*p;
	while(cin>>s)
	{
		p=new node;
		p->next=NULL;
		int len = s.size();
		head=tail=p;//        ,        ,                 
		for(int i=0;ic=ch;
				
				np->next = p->next;// p        
				p->next = np;
				p=np;

				if(p->next==NULL)tail = p;//      
			}
		}
		node *q = head->next;
		node *pre;
		while(q!=NULL)
		{
			cout<c;
			pre=q;
			q = pre->next;
			delete pre;
		}
		delete head;
		cout<
stl リスト:
#include
#include
#include
#include
using namespace std;
const int maxn = 100000+5;
int main()
{
	list l;
	char s[maxn];
	while(scanf("%s",s)==1)
	{
		int n=strlen(s);
		list::iterator it=l.begin();
		for(int i=0;i