3.编写一个C语言程序,对一个数组实现冒泡排序。sort.c:包含冒泡排序的函数;main.c:加载sort.c,并实现主函数用来测试排序函数;编写makefile,并使用make对该程序进行编译连接。
时间: 2024-05-08 10:17:51 浏览: 68
数组小到大排序_冒泡数组比大小_
5星 · 资源好评率100%
sort.c:
```c
#include "sort.h"
void bubble_sort(int arr[], int len){
int i, j, temp;
for(i = 0; i < len - 1; i++){
for(j = 0; j < len - i - 1; j++){
if(arr[j] > arr[j + 1]){
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
sort.h:
```c
#ifndef SORT_H
#define SORT_H
void bubble_sort(int arr[], int len);
#endif
```
main.c:
```c
#include <stdio.h>
#include "sort.h"
int main(){
int arr[] = {2, 4, 1, 6, 8, 5, 3, 7, 9};
int len = sizeof(arr) / sizeof(int);
int i;
printf("Original array: ");
for(i = 0; i < len; i++){
printf("%d ", arr[i]);
}
printf("\n");
bubble_sort(arr, len);
printf("Sorted array: ");
for(i = 0; i < len; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
makefile:
```makefile
sort: sort.o main.o
gcc -o sort sort.o main.o
sort.o: sort.c sort.h
gcc -c sort.c
main.o: main.c sort.h
gcc -c main.c
clean:
rm -f *.o sort
```
使用make命令编译链接:
```shell
$ make
gcc -c sort.c
gcc -c main.c
gcc -o sort sort.o main.o
$ ./sort
Original array: 2 4 1 6 8 5 3 7 9
Sorted array: 1 2 3 4 5 6 7 8 9
```
程序成功排序。
阅读全文