读取文件中int数据并排序输出到另外一个文件


本文意在熟悉流对文件的操作


#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

void Order(vector<int> &data)
{
	for (unsigned int i = 0; i < data.size(); i++)
	{
		for (unsigned int j = i+1; j < data.size(); j++)
		{
			if (data.at(i) > data.at(j))
			{
				data.at(i) ^= data.at(j);
				data.at(j) ^= data.at(i);
				data.at(i) ^= data.at(j);
			}
		}
	}
}

void printFunc(vector<int>& data)
{
	for (unsigned int i = 0; i < data.size(); i++)
	{
		cout<<data.at(i)<<"\t";
	}
	cout<<endl;
}

void main( void )
{
	vector<int>data;
	ifstream in("data.txt");
	if ( !in)
	{
		cout<<"file error!";
		exit(1);
	}
	int temp;
	while (!in.eof())
	{
		in>>temp;
		data.push_back(temp);
	}
	in.close();

	printFunc(data);
	Order(data);
	printFunc(data);
	
	ofstream out("output.txt");
	if ( !out)
	{
		cout<<"file error!";
		exit(1);
	}
	for (unsigned int i = 0 ; i < data.size() ; i++)
		out<<data[i]<<" ";
	out.close();
}




上面一行是 data.txt 中的数据

下面一行是 从小到大排序后 输出到 output.txt 文件中的数据


要实现这个任务,我们可以使用Python的内置函数和文件操作方法来完成。 首先,我们需要打开要读取排序文件,可以使用`open()`函数来打开文件,其包括文件的路径和文件的打开模式。 然后,我们可以使用`readlines()`方法来读取文件的每一行,并将其存储在一个列表。 接下来,我们可以使用`sorted()`函数对列表进行排序,也可以指定排序的方式,例如升序或降序。 然后,我们可以再次使用`open()`函数来打开另一个文件,将排序后的数据写入该文件。可以使用`write()`方法来将数据写入文件。最后,我们需要使用`close()`方法来关闭文件。 下面是一个示例代码: ```python # 打开要读取文件 with open("input.txt", "r") as file: # 读取文件的每一行并存储在列表 lines = file.readlines() # 对列表进行排序(这里假设文件的每一行都是整数) sorted_lines = sorted(lines, key=lambda x: int(x)) # 打开要输出文件 with open("output.txt", "w") as file: # 将排序后的数据写入文件 for line in sorted_lines: file.write(line) # 关闭文件 file.close() ``` 在这个示例,我们首先打开名为"input.txt"的文件读取每一行并存储在列表`lines`。然后,使用`sorted()`函数对列表进行排序并将排序后的结果存储在新的列表`sorted_lines`。 接下来,我们打开名为"output.txt"的文件,使用`write()`方法将排序后的数据逐行写入文件。 最后,我们使用`close()`方法关闭文件,确保所有的数据都被正确地写入文件。 希望这个回答对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值