怎么用dw做博客网站,网络运维工程师年终总结,外贸网站的公司介绍,响应式网站建设一般多少钱pat甲级1097 我还用数组下标从1到n的方式遍历链表#xff0c;真菜。 csdn上有的博客的题解对输入排序了#xff0c;有的没排序。我还是通过参考别人的代码过了。 下面代码的思路是一个数组#xff0c;通过节点的标记值来分离留下的和删除的#xff0c;我的想法是两个数组分…pat甲级1097 我还用数组下标从1到n的方式遍历链表真菜。 csdn上有的博客的题解对输入排序了有的没排序。我还是通过参考别人的代码过了。 下面代码的思路是一个数组通过节点的标记值来分离留下的和删除的我的想法是两个数组分别存储留下的和删除的很明显前者更巧妙一些。
#includebits/stdc.h
using namespace std;
const int maxn1e510;struct Node
{int add,key,next,num2*maxn;}node[maxn];
bool cmp(Node a,Node b)
{return a.numb.num;
}
int main()
{int n,head,cnt10,cnt20;int book[10005]{0};cinheadn;for(int i0;i!n;i){int a,b,c;cinabc;node[a].adda;node[a].keyb;node[a].nextc;}for(int phead;p!-1;pnode[p].next){if(book[abs(node[p].key)]0){book[abs(node[p].key)]1;node[p].numcnt1;cnt1;}else{node[p].nummaxncnt2;cnt2;}}int cntcnt1cnt2;sort(node,nodemaxn,cmp);for(int i0;icnt;i){ if(i!cnt1-1i!cnt-1){printf(%05d %d %05d\n,node[i].add,node[i].key,node[i1].add);}else{printf(%05d %d -1\n,node[i].add,node[i].key);}}return 0;
}
END