从一个文本文件中读入整数构成一个链表,然后对链表进行排序,最后把排序后的链表输出到另外一个文件中。

题目内容从一个文本文件(input.txt)中读入一系列的整数构成一个链表,然后对链表进行排序,最后把排序后的链表输出到另外一个文件中(output.txt)。输入格式文... 题目内容

从一个文本文件(input.txt)中读入一系列的整数构成一个链表,然后对链表进行排序,最后把排序后的链表输出到另外一个文件中(output.txt)。

输入格式
文本文件input.txt
内容是空格间隔的整数序列,比如: 5 2 3 4 1
输出格式
文本文件output.txt,
内容是排好序的数字序列(空格间隔)

输入样例:input.txt文本文件,内容是 5 2 3 4 1 7
输出样例:output.txt文本文件,内容是 1 2 3 4 5 7

用C++语言编写,谢谢大神了,如果在这不好给出答案可以私信我噢~~~
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
笃侠6A
2015-06-20 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3261万
展开全部
#include<iostream>
#include<fstream>
using namespace std;
struct Node{
int data;
Node *next;
};
Node *head=0;

void createList(){
ifstream fin("input.txt");
Node *p,*q=head;
int x;
fin >>x;
while(!fin.eof()){
p=new Node;
p->data=x;
p->next=0;
if(!q)
head=p;
else
q->next=p;
q=p;
fin >>x;
}
fin.close();
}

void displayList(){
Node *p=head;
while(p){
cout <<p->data <<" ";
p=p->next;
}
cout <<endl;
}

void sortList(){
if(head==0 || head->next==0)
return;
Node *p,*q,*t;
int k;
p=head->next;
head->next=0;
while(p){
if(head->data>p->data){//插在链表首部
t=p;
p=p->next;
t->next=head;
head=t;
}else{ //插在链表中某处
k=p->data;
q=t=head;
while(q && q->data<k){
t=q;
q=q->next;
}
q=p;
p=p->next;
q->next=t->next;
t->next=q;
}
}
}

void saveList(){
Node *p=head;
ofstream fout("output.txt");
while(p){
fout <<p->data <<" ";
p=p->next;
}
fout <<endl;
fout.close();
}

void main(){
createList();
displayList();
sortList();
displayList();
saveList();
}
更多追问追答
追问
只是没有任何输出,。。。这是怎么回事呀

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式