Double Circular Sorted Linked List Insert
void Insert(LinkedList * &start, int val) { LinkedList * cur = start; if (start == NULL) { auto l = new LinkedList(val); l->pre = l l->next = l start = l return; } int cycle = 0; do { if (val < cur->val ||(cycle == 1 && cur == start)) { auto l = new LinkedList(val); cur->pre->next = l; l->next = cur; l->pre = cur->pre; cur->pre = l; if (cur == start) start = l; inserted = true; return ; } cur = cur->next; if(cur == start) { ++cycle; } } while (true); }
posted on 2014-11-23 15:38 fatemaster 阅读(184) 评论(0) 收藏 举报