我有一个名为node *reverse (node *head) {
// 2) reach the last element and return it
if(head->next == NULL) {
return head;
} else {
// 1) run revers for tail of our list
node *new_head = reverse(head->next);
// 3) relocate pointers
// new_head = 5;
// head = 4, head->next = 5, head->next->next = null
head->next->next = head; // after this line head = 4, head->next = 5, head->next->next = 4
head->next = NULL; // after this line head = 4, head->next = null, head->next->next = 4
return new_head; // new_head = 5, new_head->next = 4 similarly recursion takes place further
}
}
的{{1}}数据类,有一次我需要从head = reverse (head);
print(head);
数据类中删除一些Kotlin
。
作为输入,我得到一个ParcelBoxByID.kt
的实例,我需要取回相同的Locker's
,但排序为ParcelBoxByID.kt
。我不确定在这种情况下是否甚至可以删除,因此创建ParcelBoxByID.kt
的新实例还是创建副本也是可以接受的。
但是我的问题是:如何对数据类的内部列表进行排序,并仍然返回具有已排序内部类的父数据类?
我需要按ParcelBoxByID.kt
对它们进行排序。因此,如果Locker's
为0,则将其从新实例中删除,如果为其他任何值,则可以保留。
ParcelBoxByID.kt
ParcelBoxByID.kt
答案 0 :(得分:0)
您可以复制数据类,并分配排序列表:
val copyWithSortedLockers = parcelBoxByID.copy(
lockers = parcelBoxByID.lockers.sortedBy(Locker::status)
)