有一个vector储存了文件名和其创建时间,创建时间单位是int,根据创建时间从小到大排序,使用c++编码实现举例
时间: 2024-05-04 10:16:08 浏览: 74
linux c++按照时间排序删除文件夹里面的文件
好的,您的问题已收到。
以下是使用C语言实现根据创建时间从小到大排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct file {
char name[50];
int create_time;
};
void insertion_sort(struct file arr[], int n) {
int i, j;
struct file temp;
for (i = 1; i < n; i++) {
temp = arr[i];
j = i - 1;
while (j >= 0 && arr[j].create_time > temp.create_time) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
}
}
int main() {
struct file files[] = {
{"file1.txt", 5},
{"file2.txt", 3},
{"file3.txt", 7},
{"file4.txt", 1},
{"file5.txt", 4},
};
int n = sizeof(files) / sizeof(files[0]);
int i;
printf("Before sorting:\n");
for (i = 0; i < n; i++) {
printf("%s %d\n", files[i].name, files[i].create_time);
}
insertion_sort(files, n);
printf("After sorting:\n");
for (i = 0; i < n; i++) {
printf("%s %d\n", files[i].name, files[i].create_time);
}
return 0;
}
```
该代码中定义了一个结构体 `file`,包含文件名和创建时间两个属性。使用插入排序算法将文件数组按照创建时间从小到大排序。最后输出排序前和排序后的文件名及创建时间。
阅读全文