开源项目 sort-algos-c
使用教程
1. 项目的目录结构及介绍
sort-algos-c/
├── bubble_sort.c
├── insertion_sort.c
├── merge_sort.c
├── quick_sort.c
├── selection_sort.c
├── main.c
├── Makefile
└── README.md
bubble_sort.c
: 实现冒泡排序算法的源文件。insertion_sort.c
: 实现插入排序算法的源文件。merge_sort.c
: 实现归并排序算法的源文件。quick_sort.c
: 实现快速排序算法的源文件。selection_sort.c
: 实现选择排序算法的源文件。main.c
: 项目的启动文件,包含主函数和排序算法的调用。Makefile
: 用于编译项目的Makefile文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
main.c
是项目的启动文件,包含主函数和排序算法的调用。以下是 main.c
的主要内容:
#include <stdio.h>
#include "bubble_sort.h"
#include "insertion_sort.h"
#include "merge_sort.h"
#include "quick_sort.h"
#include "selection_sort.h"
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
// 调用各种排序算法
bubble_sort(arr, n);
insertion_sort(arr, n);
merge_sort(arr, 0, n-1);
quick_sort(arr, 0, n-1);
selection_sort(arr, n);
printf("Sorted array: \n");
for (int i=0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
3. 项目的配置文件介绍
项目中没有显式的配置文件,所有的配置和编译信息都包含在 Makefile
中。以下是 Makefile
的主要内容:
CC = gcc
CFLAGS = -Wall -std=c99
all: sort-algos-c
sort-algos-c: main.o bubble_sort.o insertion_sort.o merge_sort.o quick_sort.o selection_sort.o
$(CC) $(CFLAGS) -o sort-algos-c main.o bubble_sort.o insertion_sort.o merge_sort.o quick_sort.o selection_sort.o
main.o: main.c
$(CC) $(CFLAGS) -c main.c
bubble_sort.o: bubble_sort.c
$(CC) $(CFLAGS) -c bubble_sort.c
insertion_sort.o: insertion_sort.c
$(CC) $(CFLAGS) -c insertion_sort.c
merge_sort.o: merge_sort.c
$(CC) $(CFLAGS) -c merge_sort.c
quick_sort.o: quick_sort.c
$(CC) $(CFLAGS) -c quick_sort.c
selection_sort.o: selection_sort.c
$(CC) $(CFLAGS) -c selection_sort.c
clean:
rm -f *.o sort-algos-c
通过 Makefile
,可以方便地编译和清理项目。运行 make
命令即可编译项目,运行 make clean
命令可以清理编译生成的文件。