[英]How to convert singly linked list to circular list
我正在嘗試從我的單鏈接列表中創建一個循環列表,該列表將數字按升序排列,但遺憾的是效果並不理想。 似乎正在制作列表,但由於某種原因,它沒有將輸入的數字按升序排列。 請幫忙。
list::list()
{
head =NULL;
}
void list::insertElement(int element)
{
//ascending order
node *temp, *curr, *prev;
temp = new node;
temp->item = element;
for(prev = head, curr = head/*value set*/; (curr !=head)&&
(temp->item>curr ->item)/*condition*/;
prev = curr, curr = curr->next/*loop expression*/);
if (prev == head)
{
temp-> next = head;
head = temp;
}
else
{
temp -> next = curr;
prev -> next = temp;
}
}//end of function
如果要將單鏈接列表轉換為循環鏈接列表,則只需要設置指針即可。
node *first;
temp = first;
while(temp->link != NULL)
{
temp = temp->link;
// its traversing upto last node.
}
//這里將鏈接地址的最后一個節點分配給第一個節點;
temp->link = first;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.