データ構造 - 単一リンクリスト(アナログ配列)

 

 


書式#include <iostreamの> 使用して 名前空間はstdを、 const int型 N = 100010 ; INT 値[N]、NE [N]。 int型のヘッド、IDX。 // 初期化リストは、 無効(INIT)を{ ヘッド = - 1 IDX = 0 ; } //は、後に数字のK番号を削除し 、ボイド・デル(int型{K) NE [K] = NEネ[K]。 } // 最初のx個のKの後に挿入 空隙 INSERT(int型 K、int型X){ 値[IDX] = X。 NE [IDX] = NE [K]。 ne[k] = idx ++; } //在链表首部添加一个x void add(int x){ value[idx] = x; ne[idx] = head; head = idx ++; } int main(){ int n; cin>>n; char ch; int k ,x ; init(); while(n--){ cin>>ch; if(ch == 'H'){ cin>>x; add(x); } if(ch == 'D'){ cin>>k; if(k==0){head = ne[head];} else del(k-1); } if(ch == 'I'){ cin>>k>>x; insert(k-1,x); } } // cout<<idx<<" "; for(int i = head ; i != -1 ; i = ne[i]){ cout<<value[i]<<" "; } cout<<endl; return 0; }

 

おすすめ

転載: www.cnblogs.com/Flydoggie/p/12244455.html