C语言 实现两种排序方法
2017-07-26 19:15
597 查看
头文件:
函数原型:
函数原型:
void sortA1(int a[], int length); //选择排序 void sortA2(int a[], int length); //冒泡排序 void printA1(int a[], int length); //遍历数组 实现函数: void sortA1(int a[], int length){ int i, j, temp; for(i = 0; i <length; ++i){ for(j = i + 1; j < length; ++j){ if(a[j]< a[i]){ //如果后一个元素小于前一个元素则交换 temp = a[i]; a[i] = a[j]; a[j] = temp; } } } } void printA1(int a[], int length){ int i; for(i = 0; i <length; ++i){ printf("%d,", a[i]); } printf("\n"); } void sortA2(int a[], int length){ int i, j, temp; for(i = 0; i <length; ++i){ for(j = length - 1; j > i; --j){ if(a[j]> a[j - 1]){ temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } } 测试: void main(){ int length = 0; int a[] = {12, 43, 8, 50, 100, 52,0}; length = sizeof(a) / sizeof(a[0]); printf("排序前\n"); printA1(a, length); sortA1(a, length); printf("选择排序后\n"); printA1(a, length); sortA2(a, length); printf("冒泡排序后\n"); printA1(a, length); system("pause"); } 函数原型: void sortA1(int a[], int length); //选择排序 void sortA2(int a[], int length); //冒泡排序 void printA1(int a[], int length); //遍历数组 实现函数: void sortA1(int a[], int length){ int i, j, temp; for(i = 0; i <length; ++i){ for(j = i + 1; j < length; ++j){ if(a[j]< a[i]){ //如果后一个元素小于前一个元素则交换 temp = a[i]; a[i] = a[j]; a[j] = temp; } } } } void printA1(int a[], int length){ int i; for(i = 0; i <length; ++i){ printf("%d,", a[i]); } printf("\n"); } void sortA2(int a[], int length){ int i, j, temp; for(i = 0; i <length; ++i){ for(j = length - 1; j > i; --j){ if(a[j]> a[j - 1]){ temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } } 测试: void main(){ int length = 0; int a[] = {12, 43, 8, 50, 100, 52,0}; length = sizeof(a) / sizeof(a[0]); printf("排序前\n"); printA1(a, length); sortA1(a, length); printf("选择排序后\n"); printA1(a, length); sortA2(a, length); printf("冒泡排序后\n"); printA1(a, length); system("pause"); }
相关文章推荐
- C语言两种方法实现字符串反转
- 几种排序方法的C语言实现
- C语言两种方法实现进程间 socket 通信
- C语言:链表的循环,两种思考方法,第一种用select_1()实现,第二种用select_2()实现.
- C语言实现斐波那契数列的两种方法(递归和迭代)
- PHP实现对多维数组按照某个键值排序的两种解决方法
- 用C语言实现常见的几个排序方法
- Linux平台上C语言实现异步队列的两种方法
- List排序的两种实现方法
- 黑马程序员自学笔记————对于TreeSet实现排序的两种方法;
- Java实现对象排序的两种方法
- 几种排序方法的实现 (C语言)
- 选择排序的两种实现方法
- 详谈排序算法之交换类排序(两种方法实现快速排序【思路一致】)
- n皇后问题的两种递归方法C语言实现
- 归并排序--自上而下和自下而上两种方法的实现
- 数据排序的几种方法(c语言实现)
- js中两种实现排序的方法
- 【C语言】用递归和循环两种方法实现单链表倒置
- 实现一个简单的 成绩排序(两种方法)