插入排序C++ 份文件编写代码 优化
时间: 2023-08-10 13:58:31 浏览: 86
当你要在C++中实现插入排序算法时,可以将其拆分为多个文件以提高代码的可读性和可维护性。下面是一个可能的实现示例:
首先,创建一个名为`insertion_sort.h`的头文件,用于声明插入排序函数:
```cpp
#ifndef INSERTION_SORT_H
#define INSERTION_SORT_H
namespace Sorting {
void insertionSort(int arr[], int size);
}
#endif
```
然后,在`insertion_sort.cpp`文件中实现插入排序算法:
```cpp
#include "insertion_sort.h"
namespace Sorting {
void insertionSort(int arr[], int size) {
for (int i = 1; i < size; ++i) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
}
```
接下来,你可以创建一个名为`main.cpp`的文件来测试插入排序算法:
```cpp
#include <iostream>
#include "insertion_sort.h"
int main() {
int arr[] = {5, 2, 8, 1, 3};
int size = sizeof(arr) / sizeof(arr[0]);
std::cout << "Before sorting: ";
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
Sorting::insertionSort(arr, size);
std::cout << "After sorting: ";
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
现在,你可以通过`g++`编译器将这些文件编译在一起:
```shell
g++ main.cpp insertion_sort.cpp -o insertion_sort
```
最后,运行生成的可执行文件:
```shell
./insertion_sort
```
这将输出排序前后的数组。这种方式能够使代码更加模块化,易于理解和维护。
阅读全文