实现一个冒泡排序,冒泡排序几种实现方法
前言:学了一天半左右,冒泡排序的升级版终于让我一遍又一遍的打出来。过程中有各种错误,也有各种粗心的错误。不要胡说八道。以下是通过自定义函数实现各种冒泡排序的简单步骤:
1.首先,写出主要功能部分:
2.然后,实现了test1函数调用:
3.下面开始补充自排序函数bubble_sort的定义:
4.然后补充cmp比较功能和互换交换功能:
承上启下:在代码块1~4中,测试test2和3时不需要定义bubble_sort函数和Swap函数,可以直接调用。
5.实现test2函数调用:
6.互补比较函数cmp_str:
7.实现test3函数调用:
8.互补比较函数cmp_dbl:
总结:定义比较函数时,根据不同的数据类型(int、struct、double……)采用不同的方法,理解自定义快速排列函数bubble_sort的四个参数所代表的含义,设计交换函数的Swap参数,使用和传递结构索引组的参数,最后在自己身上下功夫。不太好整理。希望大家能给我更多的好评和支持!
以下是我写这段代码时困扰我的bug:
1)定义比较函数时,参数为(char*)base j*width,(char *)base(J1)* width——比较第一个字符一个字节的大小,我写的是:base i j*width,base i (j 1)*width2)冒泡排序浮点数时,比较函数要用if条件函数,否则输出。转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。