国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

1052. Linked List Sorting (25)

2019-11-11 04:20:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1. 原題: https://www.patest.cn/contests/pat-a-PRactise/1052

2. 思路:

題意:給出鏈表的靜態(tài)表示方式,把鏈表從小到大排序。思路:先建一個(gè)MAX大的數(shù)組,下標(biāo)表示地址,存儲(chǔ)給出的結(jié)點(diǎn)。然后從首地址開(kāi)始遍歷,壓入數(shù)組list中。最后輸出。注意:1. 鏈表為空,輸出“0 -1”。2. 給出的結(jié)點(diǎn)可能不在鏈表上。

3. 源碼(已AC):

#include<iostream>#include<vector>#include<algorithm>//使用sort函數(shù)using namespace std;const int MAX = 100000;struct Node//結(jié)點(diǎn)結(jié)構(gòu)體{	bool Operator<(const Node &b) const//重載比較運(yùn)算符	{		return key < b.key;	}	Node() : add(0) {}//初始化地址為0	int add;//結(jié)點(diǎn)所在地址	int key;	int next;};int main(void){	//freopen("in.txt", "r", stdin);	int N, head;	cin >> N >> head;	vector<Node> nv(MAX);	for (int i = 0; i < N; i++)//存儲(chǔ)數(shù)據(jù)	{		Node tem;		cin >> tem.add >> tem.key >> tem.next;		nv[tem.add] = tem;	}	if (nv[head].add == 0)//表示鏈表空	{		printf("0 -1/n");		return 0;	}	int pnext = head;	vector<Node> list;//保存有效結(jié)點(diǎn)的數(shù)組	while (pnext != -1)	{		list.push_back(nv[pnext]);		pnext = nv[pnext].next;	}	sort(list.begin(), list.end());//升序排序	int cnt = list.size();	printf("%d %05d/n", cnt, list[0].add);	for (int i = 0; i < cnt; i++)	{		if (i == cnt - 1)			printf("%05d %d -1/n", list[i].add, list[i].key);		else			printf("%05d %d %05d/n", list[i].add, list[i].key, list[i + 1].add);	}	return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪洞县| 长寿区| 麟游县| 鄢陵县| 电白县| 长寿区| 沭阳县| 石台县| 花莲县| 松阳县| 德州市| 叶城县| 永昌县| 昂仁县| 临夏县| 嫩江县| 东明县| 卢湾区| 惠东县| 章丘市| 西城区| 弥勒县| 克东县| 通城县| 阳西县| 韩城市| 贡嘎县| 双辽市| 长垣县| 内黄县| 新安县| 葫芦岛市| 治多县| 灵台县| 马边| 和林格尔县| 合水县| 卓尼县| 长武县| 永川市| 永川市|