PAT 1052. Linked List Sorting

题目:http://pat.zju.edu.cn/contests/pat-a-practise/1052

题解:

模拟链表按值排序

注意:可能给多个链表,只要输出与头地址相连的部分

            可能输入的长度为0

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define INF 0x6fffffff
struct point
{
    char add[10];//当前结点地址
    int num;//当前结点值
    char nextx[10];//下个结点地址
    int idx;
} node[100005];
map mapx;
bool cmpIdx(const struct point &a,const struct point &b)
{
    return a.idxsecond;
            node[x].idx=i;
            s=string(node[x].nextx);
        }
        sort(node,node+n,cmpIdx);//把上面求出的有效部分移动到前端
        n=i-1;
        sort(node,node+n,cmpValue);//对有效链表部分按值从小到大排序
        printf("%d %s\n",n,node[0].add);
        for(i=0; i

来源: http://blog.csdn.net/acm_ted/article/details/20507157


你可能感兴趣的:(PAT)