插入排序c++份文件编写
时间: 2023-07-23 19:01:14 浏览: 41
当我们需要在多个文件中编写插入排序算法时,可以将算法的实现放在一个单独的源文件中,并将算法的声明放在头文件中。下面是一个示例:
**insertion_sort.h**(头文件):
```cpp
#ifndef INSERTION_SORT_H
#define INSERTION_SORT_H
#include <vector>
void insertionSort(std::vector<int>& nums);
#endif
```
**insertion_sort.cpp**(源文件):
```cpp
#include "insertion_sort.h"
void insertionSort(std::vector<int>& nums) {
int n = nums.size();
for (int i = 1; i < n; i++) {
int key = nums[i];
int j = i - 1;
while (j >= 0 && nums[j] > key) {
nums[j + 1] = nums[j];
j--;
}
nums[j + 1] = key;
}
}
```
**main.cpp**(主程序文件):
```cpp
#include <iostream>
#include <vector>
#include "insertion_sort.h"
int main() {
std::vector<int> nums = {5, 2, 8, 1, 3};
std::cout << "排序前:";
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
insertionSort(nums);
std::cout << "排序后:";
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,我们将插入排序算法的实现放在了 `insertion_sort.cpp` 文件中,并在 `insertion_sort.h` 中进行了声明。然后,在 `main.cpp` 文件中,我们包含了 `insertion_sort.h` 头文件,并调用了 `insertionSort` 函数对数组进行排序。
要编译这些文件,可以使用以下命令:
```
g++ main.cpp insertion_sort.cpp -o main
```
然后运行生成的可执行文件 `main`,就可以看到排序前后的结果输出。