精华内容
下载资源
问答
  • 生成随机数文件 #include<bits/stdc++.h> using namespace std; int n,a[100000005]; void CreateNum(int a[],int n){ ofstream op; op.open("C:\\Users\\Lenovo\\Desktop\\随机数.txt"...

     生成随机数文件

    #include<bits/stdc++.h>
    using namespace std;
    int n,a[100000005]; 
    void CreateNum(int a[],int n){
    	ofstream op;
    	op.open("C:\\Users\\Lenovo\\Desktop\\随机数.txt");
    	srand((unsigned)time(NULL));
    	for(int i=1;i<=n;i++){
    		a[i]=rand()%1000000;
    		op<<a[i]<<' ';
    	}
    	op.close();
    	cout<<"随机数据文件生成完成"<<endl;
    }
    void QSort(int a[],int l,int r){
    	if(l<r){
    		int i=l,j=r,temp=a[l];
    		while(i<j){
    			while(i<j && a[j]>=temp) j--;
    			if(i<j) a[i++]=a[j];
    			while(i<j && a[i]<temp) i++;
    			if(i<j) a[j--]=a[i];
    		}
    		a[i]=temp;
    		QSort(a,l,i-1);
    		QSort(a,i+1,r); 
    	}
    }
    int main(){	
    	ofstream op;
    	op.open("C:\\Users\\Lenovo\\Desktop\\升序.txt");
    	cin>>n;
    	CreateNum(a,n);
    	QSort(a,1,n);
    	for(int i=1;i<=n;i++){
    		op<<a[i]<<' ';
    	}
    	op.close();
    	cout<<"升序数据文件生成完成"<<endl;
    	return 0;
    }

    文件读取对数据进行排序

    #include<iostream>
    #include<fstream>
    #include<time.h> 
    using namespace std;
    int a[100000005];//随机 
    int b[100000005];//升序 
    int p;
    void ReadFile(){
    	int x;
    	p=1;
    	ifstream op;
    	op.open("C:\\Users\\Lenovo\\Desktop\\随机数.txt");
    	while(op>>x){
    		if(op.eof()) break;
    		a[p++]=x;
    	} 
    	op.close();
    	p=1;
    	op.open("C:\\Users\\Lenovo\\Desktop\\升序.txt");
    	while(op>>x){
    		if(op.eof()) break;
    		b[p++]=x;
    	} 
    	op.close();
    	cout<<"数据读取完成"<<endl; 
    }
    void QSort(int s[],int l,int r){
    	if(l<r){
    		int i=l,j=r,temp=a[l];
    		while(i<j){
    			while(i<j && a[j]>=temp) j--;
    			a[i++]=a[j];
    			while(i<j && a[i]<temp) i++;
    			a[j--]=a[i];
    		}
    		a[i]=temp;
    		QSort(s,l,i-1);
    		QSort(s,i+1,r); 
    	}
    } 
    int main(){
    	ReadFile();
    	int n=p-1;//n个数 
    	double st=clock();
    	QSort(a,1,n);
    	double end=clock();
    	cout<<"随机数组排序时间:"<<end-st<<endl; 
    	st=clock();
    	QSort(b,1,n);
    	end=clock();
    	cout<<"升序数组排序时间:"<<end-st<<endl; 
    	return 0;
    }

     

    展开全文
  • } } void bubble_sort(int num[], int n) {//冒泡排序 int t; for (int i = n - 1; i > 0;i--) { for (int j = 0; j ; j++) { if (num[j] > num[j + 1]) { t = num[j]; num[j] = num[j + 1]; ...
    #include<iostream>
    using namespace std;
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>
    #include<fstream>
    #include<iomanip>
    int num[100000000];
    int n = 10000;
    void CreatNum(int n) {
    	ofstream ofs;
    	ofs.open("D:\\data.txt", ios::out);
    	srand(time(NULL));
    	int t;
    	for (int i = 0; i < n; i++) {
    		t = rand();
    		ofs << t << " ";
    	}
    	ofs.close();
    }
    void ReadFile() {
    	ifstream ifs;
    	ifs.open("D:\\data.txt", ios::in);
    	int t, i = 0;
    	while (ifs >> t) {
    		if (ifs.eof())
    			break;
    		num[i++] = t;
    	}
    }
    void bubble_sort(int num[], int n) {//冒泡排序
    	int t;
    	for (int i = n - 1; i > 0;i--) {
    		for (int j = 0; j < i; j++) {
    			if (num[j] > num[j + 1]) {
    				t = num[j];
    				num[j] = num[j + 1];
    				num[j + 1] = t;
    			}
    		}
    	}
    }
    void print(int num[], int n) {
    	int count = 0;
    	for (int i = 0; i < n; i++) {
    		cout << num[i] << " ";
    		count++;
    		if (count % 10 == 0) {
    			cout << "\n";
    		}
    	}
    }
    int main() {
    	CreatNum(n);
    	cout << "n \t重复次数 \t 总时间 \t 每次排序时间\n";
    	cout << fixed << setprecision(8)<<setiosflags(ios::right);
    	for (int i = 0; i < 5; i++) {
    		ReadFile();
    		int count = 0;
    		double start = clock();
    		do {
    			count++;
    			bubble_sort(num, n);
    		} while (clock() - start < 1000);
    		double elapsedMills = (clock() - start);
    		cout << n;
    		cout << setw(10) << count;
    		cout << setw(20) << elapsedMills;
    		cout<< setw(18)<<elapsedMills/count<<"\n";
    	}
    	
    	
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • 程序的功能是外部读取一个包括int型数据的文本文件,然后将它保存到内部临时数组,对数组进行排序后,以文本形式输出到指定的文件上。因为是int类型的数据,没有很严重的损失精度的问题。 正常运行要求: 包括数据...
  • 使用C语言编写程序对数据进行排序C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础。我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者提供...

    使用C语言编写程序对数据进行排序

    C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础。我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者提供一点启发和帮助。

    对于从键盘输入的10个任意整型数据,按由小到大的方式进行排序输出。涉及的知识点有输入语句(scanf)、输出语句(printf)、数组知识、循环结构(for)、分支结构(if),还有算法方面的技能技巧。

    程序思路:从键盘输入10个整型数据存入数组中,利用循环结构对数组中数据两两比较,利用分支结构完成比较时的条件设置,数据大小的排序和位置交换(这是核心的程序部分)。将排序后数据以数组方式由小到大输出。

    2f3c619199baf0243b7c7d5581ddc48d.png

    #include //加载标准输入输出头文件。

    int main()//定义整型主函数。

    {

    int a,b,c,x,y,t,sz[10];//定义整型变量和数组变量。

    for(a=1;a<=10;a++)//循环体,用来确定数组的个数。

    {

    printf("请输入第%d个数;",a);//屏幕提示信息。

    scanf("%d",&sz[a-1]);//键盘输入的数据存入数组。

    }

    for(b=0;b<=9;b++)//控制循环。

    printf("%d",sz[b]);//显示数组中的数据。

    for(x=0;x<=9;x++) //外层循环,10次。

    for(y=1+x;y<=9;y++)//内循环,涉及到算法,1+x逐一比较。

    {

    if(sz[x]>sz[y])//分支条件

    {

    t=sz[y];//利用t变量对于满足条的进行交换。

    sz[y]=sz[x];//

    sz[x]=t;}//

    }

    for(c=0;c<=9;c++)//循环,排序后用于输出

    printf("%d ",sz[c]);//输出调整次序后的数组

    return 0;

    }

    排序源程序

    #include

    int main()

    {

    int a,b,c,x,y,t,sz[10];

    for(a=1;a<=10;a++)

    {

    printf("请输入第%d个数;",a);

    scanf("%d",&sz[a-1]);

    }

    for(b=0;b<=9;b++)

    printf("%d",sz[b]);

    for(x=0;x<=9;x++)

    for(y=1+x;y<=9;y++)

    {

    if(sz[x]>sz[y])

    {

    t=sz[y];

    sz[y]=sz[x];

    sz[x]=t;}

    }

    for(c=0;c<=9;c++)

    printf("%d ",sz[c]);

    return 0;

    }

    谢谢看到这朋友,我会持续输出更多的有趣C程序。

    展开全文
  • “r”:只能从文件中读数据,该文件必须先存在,否则打开失败 “w”:只能向文件写数据,若指定的文件不存在则创建它,如果存在则先删除它再重建一个新文件 “a”:向文件增加新数据(不删除原有数据),若文件不存在...

    首先要使用c语言必须要有特定的语言来打开文本文件
    “r”:只能从文件中读数据,该文件必须先存在,否则打开失败
    “w”:只能向文件写数据,若指定的文件不存在则创建它,如果存在则先删除它再重建一个新文件
    “a”:向文件增加新数据(不删除原有数据),若文件不存在则打开失败,打开时位置指针移到文件末尾
    “r+”:可读/写数据,该文件必须先存在,否则打开失败
    “w+”:可读/写数据,用该模式打开新建一个文件,先向该文件写数据,然后可读取该文件中的数据
    “a+”:可读/写数据,原来的文件不被删去,位置指针移到文件末尾

    要想对数据进行排序要先将数据录入一个数组中,再对数组处理就很简单了。这里主要的难度就在于如何将文本中的数据取出
    #include <stdio.h>
    #define N 10
    #define K 10
    void Write(double test[]);
    void Read(int i,int a[]);
    int main()
    {
    double test[K];int a[N],i;
    Write(test);
    Read(i,a);
    }
    void Write(double test[])
    {
    int x=6;
    FILE *fp;
    int i;
    if((fp=fopen(“test.txt”,“w”))==NULL)
    {
    printf(“文件打开失败”);
    }
    fprintf(fp,"12 52 71 62 65 65 17 19 ",x);
    fclose(fp);

    }
    void Read(int i,int a[])
    {
    int j;
    FILE *fp;
    if((fp=fopen(“test.txt”,“r”))==NULL)
    {
    printf(“文件打开失败”);
    return -1;
    }
    while(1)
    {
    fscanf(fp,"%d",&a);
    if(feof(fp))
    break;
    printf("%4d",a);
    }
    fclose(fp);
    }

    这是具体的代码要排序只需将最后打印部分改为排序所用的程序即可。
    在编写过程中遇到的最多的问题就是:程序编译没有问题,但是结束显示确是“文件打开失败”
    我无法直接读取文件,所以我通过先使用c语言对文档进行编译数据,在对文本文件提取数据结果是可以的,可能是我之前编写的读取程序有问题,后来进行了修改。所以现在只将上面程序的读取部分也可以完成。
    虽然通过键盘直接输入数据对于排序来说十分简单,通过文件txt似乎多此一举,但实际上在对于一些复杂的数据时,通过键盘输入显然是不合适的,所以说学会熟练的使用c语言文件还是十分重要的

    展开全文
  • shell脚本语言编写一个键盘输入10名学生(含自己)的姓名、 性别、学号和家庭住址,然后按照学号排序,并将排序后的结果在屏幕上按对齐 的方式打印输出的程序。 代码 读入数据 数据排序(这里用的选择排序) 数据...
  • 题目shell脚本语言编写一个键盘输入10名学生(含自己)的姓名、 性别、学号和家庭住址,然后按照学号排序,并将排序后的结果在屏幕上按对齐 的方式打印输出的程序。代码读入数据数据排序(这里用的选择排序)数据输出#...
  • (3)建立数据文件数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种) (4)查询: a.按姓名查询 ;b.按学号查询 ;c按房号查询 (5)打印任一查询结果(可以连续操作) 算法思想 ...
  • //有3个学生,每个学生有3门课程成绩,键盘输入以上数据(学号,姓名,3门课程成绩),计算出平均成绩,并按平均成绩升序排序。 //将排序后的数据放到stu_list中。 #include<stdio.h> #include<stdlib.h&...
  • //读取数据进行排序 for(i=0;i;i++) for(j=i;j;j++) if(list[i][j]) {temp=list[i]; list[i]=list[j]; list[j]=temp; } printf("After sorting:\n"); for(i=0;i;i++) printf("%d\n",list[i]);...
  • 我建立了链表结构,然后从文件导入数据,然后输出链表内容,发现输出的内容顺序不对内容也有点地方出错了! (下面是代码) #include #include #include #include #include typedef struct node{ char ...
  • 排序算法时间复杂度CPlusPlus 算法时间复杂度。 从文件Excel数据表中读取3列字符串(升序,降序,主序)。 用不同数量的字符串对每列进行排序并固定时间。 将结果写入输出文件。
  • 我试图在Linux上使用mdbtools2000.mdb文件中提取数据并对其进行排序。到目前为止,我只需要获取.mdb文件并将所有表转储到.csv中。它造成了巨大的混乱,因为有很多文件需要处理。我需要的是特定的表中提取特定的...
  • 它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机...
  • 并且支持xsl:for-each-group来对数据进行排序. 以下代码主要实现的过程是: A.使用unparsed-text()读取外部文件信息. B.使用xsl:result-document生成对应信息的XML文件.(使用XSLT2.0 tokenize
  • 从文件读取所有的数据; 2). 获取数据中所有的商品名称; 3). 跟据商品的价格进行排序, 降序, 将价格最高的20件产品信息写入mosthighPrice.xlsx文件中; 需求1: 1). 从文件读取所有的数据; goodsInfo = pd....
  • File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。      2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有...
  • 这是要读取文件数据: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io....
  • 切分:目标数据文件读取数据,读取一定数量后对读取到的数据进行排序,并生成临时排序文件,重复此过程,将原始数据文件分割为若干个已排序的数据文件 合并:根据上一阶段得到的分组文件数量,如果内存不足以一...
  • 读取给定的data.txt 文件,将该文件中的行按数学成绩高到低进行排序,并将结果写入到test.XLS文件中 每隔一行保存一条数据,依次为“学号、姓名、数学成绩、语文成绩” 思路: 读取.txt文件 对嵌套列表按...
  • 作者:冯老师,华清远见嵌入式学院讲师。 C语言中对结构体的处理是严格的按照定义顺序来进行内存分布...程序的任务是从文件中按照固定格式读取学生的基本成绩信息并完成排序。 文件中存储的格式如下:  James
  • 归并)什么是外排序排序就是由于数据量太大不能一次性加载到内存,所以需要先暂时用外存储器(硬盘)将数据存起来,然后依次读入一部分数据到内存,排序之后,生成临时文件存储到硬盘,最后再对这些临时文件进行一...
  • 现在我们常用的是ASP重新读取数据然后在进行排序,这样速度很慢,我想能不能直接在看护端进行排序呢,经过一段时间的试验,我发现了,如下方法可以实现哈,希望与大家分享,同时也希望各位高手提出意见或补充。...
  • 编码分配以显示来自两个json文件读取数据并使用REST API显示它们 描述 该分配由两个包含JSON数据的随附JSON文件(Parent.Json和Child.Json)组成。 REST API来获取数据并建立服务器端分页 入门 正在安装 git clone...
  • 题目: 一个文件读取一组数字,其中每个数由","隔开,将他们排序后再... 2、操作数据,并进行排序,其中数值类型转化流程如下(本人渣渣,都是用了写土方法): byte[ ]-->String-->string[ ]-->in...
  • 前言 初学C语言,请大佬多提宝贵意见,感激不尽。欢迎各位初学者前来交流。 /* 学生信息管理系统: 1.输入工程实验信息 ...10.从文件读取数据 11.删除链表 总结: 1.花了3个小时写完,与上次有进步...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 858
精华内容 343
关键字:

从文件读取数据进行排序