#include#include #include struct node{ unsigned int key; struct node *next; struct node *prev; }; typedef struct node * NodePointer; NodePointer nil; NodePointer listSearch(int key){ /* your code */ } void init(){ nil = malloc(sizeof(struct node)); nil->next = nil; nil->prev = nil; } void printList(){ NodePointer cur = nil->next; int isf = 1; while(1){ if ( cur == nil ) break; if ( isf == 0) printf(" "); printf("%d", cur->key); cur = cur->next; isf = 0; } printf("\n"); } void deleteNode(NodePointer t){ /* your code */ } void deleteFirst(){ NodePointer t = nil->next; if ( t == nil ) return; deleteNode(t); } void deleteLast(){ /* your code */ } void delete(int key){ /* your code */ } void insert(int key){ NodePointer x; x = malloc(sizeof(struct node)); x->key = key; /* your code */ } int main(){ int key, n, i; int size = 0; char com[20]; int np = 0, nd = 0; scanf("%d", &n); init(); for ( i = 0; i < n; i++ ){ scanf("%s%d", com, &key); if ( com[0] == 'i' ) {insert(key); np++; size++;} else if ( com[0] == 'd' ) { if (strlen(com) > 6){ if ( com[6] == 'F' ) deleteFirst(); else if ( com[6] == 'L' ) deleteLast(); } else { delete(key); nd++; } size--; } } printList(); return 0; }
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。初級者が体系的にアルゴリズムとデータ構造の基礎を学ぶことができる入門書となっています。 |