博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入排序实例
阅读量:6254 次
发布时间:2019-06-22

本文共 1269 字,大约阅读时间需要 4 分钟。

实例功能:接收一个含有整数元素的数组和一个包含元素个数的整数,将数组中的元素从小到大重新排序。并输出排序前后的数组。

下面以模块划分的思想来实现此功能。

打印数组元素模块:

/* common.h */#ifndef _COMMON_H#define _COMMON_Hvoid print_array(const int array[], int n);#endif
/* common.c */#include "common.h"#include 
void print_array(int array[], int n){ int i; for(i = 0; i < n; i++) printf("%d ", array[i]); printf("\n");}

插入排序模块:

/* insertion_sort.h */#ifndef _INSERTION_SORT_H#define _INSERTION_SORT_Hvoid insertion_sort(int array[], int n);#endif
/* insertion_sort.c */#include "insertion_sort.h"voidinsertion_sort(int array[], int n){    int j, p;    int tmp;        for(p = 1; p < n; p++)    {        tmp = array[p];        for(j = p; j > 0 && array[j-1] > tmp; j--)            array[j] = array[j-1];        array[j] = tmp;    }}

主函数:

/* insertion_sort_test.c */#include 
#include "insertion_sort.h"#include "common.h"int main(void){ int array[] = {
34, 8, 64, 51, 32, 21}; printf("Before sorted:"); print_array(array, 6); insertion_sort(array, 6); printf("After sorted :"); print_array(array, 6); return 0;}

Makefile文件:

/* Makefile */target := sort_testobjs := insertion_sort_test.o insertion_sort.o common.o$(target):$(objs)    gcc -o $@ $^%.o:%.c    gcc -c -o $@ $

测试过程:

转载地址:http://gojsa.baihongyu.com/

你可能感兴趣的文章
windows隐藏python运行时的终端
查看>>
QT以QImag显示图片并且以固定大小放缩后显示
查看>>
python文件头
查看>>
django win7 环境变量问题
查看>>
搅拌站ERP管理系统-砼友ERP
查看>>
我的友情链接
查看>>
How to automatically restart Apache Tomcat when...
查看>>
负载均衡的基本算法
查看>>
RecyclerView使用
查看>>
我的友情链接
查看>>
Office365客户端激活失败
查看>>
初春养生喝茉莉花茶
查看>>
CommonsMultipartFile与MultipartFile
查看>>
我的友情链接
查看>>
Yeslab 马老师 V2V环境下vCenter Server Heartbeat v6.4实现vCenter5.0的双机备份
查看>>
Google 开源项目风格指南 (中文版)
查看>>
GRUB
查看>>
Spring3.1+自定义环境配置 <beans profile="">
查看>>
cygwin的使用
查看>>
Java 常用操作
查看>>