Ton*_*ony 5 c++ linked-list list
嗨我有一个使用结构的链表.现在我得到它在最后添加每个元素.但是,我想根据ID按排序顺序添加每个元素.该结构有两个元素:字符串名称和长ID.
node* temp = new node;
temp->name = nameRead;
temp->id = idRead;
//check if first item, if so add as head
if(head == NULL)
{
head = temp;
}
else
{
node* temp2 = head;
while(temp2->next != NULL)
{
temp2 = temp2->next;
}
temp2->next = temp;
}
Run Code Online (Sandbox Code Playgroud)
She*_*aig 12
node* temp = new node;
temp->name = nameRead;
temp->id = idRead;
node* temp2 = head;
node** temp3 = &head;
while(temp2 != null && temp2->id < temp->id)
{
temp3 = &temp2->next;
temp2 = temp2->next;
}
*temp3 = temp;
temp->next = temp2;
Run Code Online (Sandbox Code Playgroud)
编辑:说明:'temp3'指针指向'temp'需要去的地方.将temp2初始化为head,并保持循环直到我们到达列表的末尾,或者直到temp2的id> = temp而不是temp的id.在循环的每次迭代中,前进temp3和temp2.
在循环结束时,'temp3'将保存指针所在的地址.因此,指定*temp3指向temp,并指定temp-> next指向temp2(此时将为null,或者指向id大于temp-> id的项目).
| 归档时间: |
|
| 查看次数: |
28311 次 |
| 最近记录: |