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 阅读(187) 评论(0) 收藏 举报
浙公网安备 33010602011771号