浮点数排序工具:读取、排序、记录并输出txt文件

版权申诉
0 下载量 50 浏览量 更新于2024-10-25 收藏 30KB RAR 举报
资源摘要信息:"float-data--sort.rar_float文件包含了关于处理浮点数排序的程序代码。该程序的主要功能是读取文本文件中的浮点型数据,对这些数据进行排序,并将排序后的结果输出到指定的文本文件中。程序运行过程中会记录并输出排序操作的开始时间和结束时间,以及整个排序过程所耗费的时间。这个程序主要面向需要处理浮点数数据排序的场景,例如数据预处理、数据分析或科学研究等领域。 在实现方面,程序可能采用了各种排序算法,比如冒泡排序、选择排序、插入排序、快速排序、归并排序等,具体的算法选择依据程序设计者的需求和预期的性能表现。每种算法都有其优缺点,例如快速排序在大数据集上通常有较好的性能,而冒泡排序则适用于小数据集且实现简单直观。 在读取txt文件的过程中,程序需要正确解析文本文件中的浮点数数据。这通常涉及到文件I/O操作和字符串到浮点数的转换,常见于使用诸如Python的open()函数,或Java的FileReader类,或C语言的fopen()和fscanf()函数。 数据排序后,程序将结果写入到另一个txt文件。这涉及到文件写入操作,可能涉及到文件指针的定位、覆盖原有内容或追加内容到文件末尾。在Python中,可以通过open()函数以写入模式打开文件,并使用write()函数写入数据;在Java中,可以使用FileWriter类来实现类似的功能。 记录开始结束和排序时间是程序性能分析的一部分。在多数编程语言中,可以使用当前系统时间来记录操作的起止时间。例如,在Python中可以使用time模块中的time()函数来获取当前时间戳,从而计算出排序操作所消耗的时间。 整个程序的代码实现需要具备良好的异常处理机制,以确保在读写文件或排序过程中出现的错误能够被妥善处理,比如文件不存在、文件内容格式错误、内存不足等常见问题。 此外,程序可能还包含了一些用户交互的元素,例如命令行参数解析,允许用户指定输入输出文件的路径,或者选择特定的排序算法,这需要一定的命令行操作知识,例如在Python中可以使用argparse模块来实现这一功能。 总之,float-data--sort.rar_float文件中的程序是一个基本的浮点数处理工具,对于需要进行数据排序处理的开发者来说具有一定的实用价值,它的实现涉及到了文件操作、数据处理、性能监控以及用户交互等多个方面的知识。"

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 typedef struct { int book_id; char book_name[50]; float price; } Book; typedef struct { Book books[MAX_SIZE]; int length; } BookList; void input_books(BookList* list, int n) { for (int i = 0; i < n; i++) { printf("请输入第%d本书的信息:\n", i + 1); printf("图书编号:"); scanf("%d", &list->books[i].book_id); printf("书名:"); scanf("%s", list->books[i].book_name); printf("价格:"); scanf("%f", &list->books[i].price); } list->length = n; } void display_books(BookList* list) { printf("图书表中所有图书的相关信息:\n"); for (int i = 0; i < list->length; i++) { printf("图书编号:%d\n", list->books[i].book_id); printf("书名:%s\n", list->books[i].book_name); printf("价格:%f\n", list->books[i].price); } } void insert_book(BookList* list, int pos, Book book) { if (pos < 1 || pos > list->length + 1) { printf("插入位置不合法!\n"); return; } for (int i = list->length - 1; i >= pos - 1; i--) { list->books[i + 1] = list->books[i]; } list->books[pos - 1] = book; list->length++; } void delete_book(BookList* list, int pos) { if (pos < 1 || pos > list->length) { printf("删除位置不合法!\n"); return; } for (int i = pos - 1; i < list->length - 1; i++) { list->books[i] = list->books[i + 1]; } list->length--; } int count_books(BookList* list) { return list->length; } int partition(BookList* list, int low, int high) { Book pivot = list->books[low]; while (low < high) { while (low < high && list->books[high].book_id >= pivot.book_id) high--; list->books[low] = list->books[high]; while (low < high && list->books[low].book_id <= pivot.book_id) low++; list->books[high] = list->books[low]; } list->books[low] = pivot; return low; } void quick_sort(BookList* list, int

2023-06-11 上传

url = "https://buff.163.com/api/market/goods/sell_order?game=csgo&goods_id=%goods_id%&page_num=1" def get_buff_low_price (buff_cookie,goods_id,float_rank): print(goods_id) # 定义请求头,包含 API Key headers = { "User-Agent": "Mozilla/5.0", "Accept-Language": "en-US,en;q=0.5", } headers['Cookie'] = buff_cookie base_url="https://buff.163.com/api/market/goods/sell_order?game=csgo&goods_id=%goods_id%&page_num=1" base_url= base_url.replace('%goods_id%',str(goods_id)) res_url='' if(float_rank=='luemo_1'): res_url = '&sort_by=default&mode=&allow_tradable_cooldown=1&min_paintwear=0.07&max_paintwear=0.08' elif(float_rank=='luemo_2'): res_url = '&sort_by=default&mode=&allow_tradable_cooldown=1&min_paintwear=0.08&max_paintwear=0.09' else: res_url = '' url =base_url+res_url #print(url) # 发送 GET 请求,获取 API 返回结果 while True: # 一直循环,知道访问站点成功 try: # 以下except都是用来捕获当requests请求出现异常时, # 通过捕获然后等待网络情况的变化,以此来保护程序的不间断运行 response = requests.get(url, headers=headers, timeout=20) break except requests.exceptions.ConnectionError: print('ConnectionError -- please wait 3 seconds') time.sleep(3) except requests.exceptions.ChunkedEncodingError: print('ChunkedEncodingError -- please wait 3 seconds') time.sleep(3) except: print('Unfortunitely -- An Unknow Error Happened, Please wait 3 seconds') time.sleep(3) # 解析返回结果 json_data = json.loads(response.text) #print(json_data) buff_price = json_data['data']['items'][0]['price'] return buff_price print(buff_price) print(json_data)

2023-06-09 上传