c 排序采用递归冒泡法
2013-06-24 22:47
99 查看
#include <stdio.h> #include <stdlib.h> void direct(int *array, int n) { int tmp; if ( n > 1 ) { direct( array, n-1); if ( *(array+n-2) > *(array + n-1) ) { tmp = *(array + n -2) ; *(array + n -2) = *(array + n-1); *(array + n- 1) = tmp; } } } void grub(int *array , int n) { int i ; for (i = n; i > 0 ; i--) direct (array, i); } int main(void) { int counter; printf("please input the counter\n"); scanf("%d", &counter); int array[counter+1]; int i; printf("please input the array[%d]\n",counter); for ( i = 0; i < counter+1; i++) { *(array+i) = rand() % 100; // *(array+i) = random(0, 1000); // scanf("%d",array+i); // you can interchange this for hand input printf("array[%d] = %d ", i, *(array+i)); printf("\n"); } printf (" you input array as following :\n"); for ( i = 0 ; i < counter; i++) printf("%d\t",*( array+i)); printf ("\n"); grub( array, counter); printf (" The sort after array:\n"); for (i = 0; i < counter; i++) { printf("%d\t",*(array + i)); if (( (i+1) % 10 == 0) ) printf("\n"); } printf( "\n"); return 0; }
相关文章推荐
- 一个无聊的递归冒泡排序程序
- 采用回调函数的内部排序算法-插入排序,希尔排序,冒泡,快排,堆排,归并排,基数排序
- 采用分而治之思想结合递归对数组进行排序
- 采用单链表进行冒泡排序
- 非递归排序(冒泡、选择、插入、希尔)
- C++ 排序法之冒泡法和选择法 素数,递归调用,用星号(*)打印一个梯形
- 各种排序的递归实现(冒泡、插入)
- 交换类排序:冒泡,快速(递归与非递归)
- 采用冒泡法对一维数组中的数据按升序进行排序。
- 预排序遍历树算法(非递归无限极分类算法)
- 冒泡,选择,插入三大基本排序解析以及Demo
- python选择,冒泡,插叙排序方式
- 快速排序非递归实现
- 排序、冒泡、二叉树以及一致性hash算法
- C#冒泡排序
- List<T>采用delegate快速实现排序、查找等操作
- 各种基本排序(直接插入;希尔;选择;堆;冒泡;快排)
- 冒泡排序
- 基础排序——冒泡、选择
- 冒泡,简单选择,直接插入排序(Java版)