模板
struct node{
int address, data, next, flag , index;
}a[maxn];
unordered_map<int, int> visited;
bool cmp(node a, node b){
if(a.flag == b.flag) return a.index < b.index;
else return a.flag > b.flag;
}
int main(){
for(int id = start; id != -1; id = a[id].next){
int temp =a[id].data;
if(){
cnt2++;
}else{
cnt1++;
}
}
sort(a, a + maxn, cmp);
for(i = 0; i < sum; i++){
printf("%05d %d ", a[i].address, a[i].data);
if(i != sum -1){
printf("%05d\n", a[i+1].address);
}else {
printf("-1\n");
}
}
return 0;
}
链表类型题目汇总
1032 Sharing
1052 Linked List Sorting
1074 Reversing Linked List
1097 Deduplication on a Linked List
1133 Splitting A Linked List (25 分)