冒泡排序 选择排序 快速排序(C语言)
来源:互联网 发布:nginx安装ssl模块 编辑:程序博客网 时间:2024/06/10 18:11
#include <stdio.h>#include <stdlib.h>#include <time.h> //用到了time函数#define arraySize 10//随机数组个数//打印函数void print(int array[]){ printf("打印随机数组\r\n"); int i; for(i=0;i<arraySize;i++) { printf("%d\t",array[i]); } printf("打印完毕\r\n");}//产生随机数组void createRandomArray(int array[]){ printf("生成新的随机数组\r\n"); int i,number; srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样 for (i=0; i<arraySize; i++) { array[i] = rand() % 101; //产生0-100的随机数 //printf("%d ", array[i]); } print(array);}//冒泡排序void bubbleSort(int array[]){ int i,j,temp; for(i=0;i<arraySize-1;i++) for(j=0;j<arraySize-1-i;j++) if(array[j]>array[j+1])//从小到大 { temp=array[j+1]; array[j+1]=array[j]; array[j]=temp; }}//选择排序void selectionSort(int array[]){ int i,j,temp; for(i=0;i<arraySize-1;i++) for(j=i+1;j<arraySize;j++) if(array[i]>array[j])//从小到大 { temp=array[j]; array[j]=array[i]; array[i]=temp; }}//快速排序(重点)void quickSort(int array[],int left,int right){ while(left>=right) { return; } int i=left,j=right,key=array[left]; while(i<j)//一次查找 { while(i<j&&array[j]>=key)//从后向前搜索 { j--; } array[i]=array[j]; while(i<j&&array[i]<=key)//从前向后搜索 { i++; } array[j]=array[i]; } array[i]=key; quickSort(array,left,i-1); quickSort(array,i+1,right);}int main(){ int randomArray[arraySize]; printf("选择排序方法:1、冒泡排序\t2、选择排序\t3、快速排序\t0、退出\r\n"); int select; while(scanf("%d",&select)) { switch(select) { case 1: printf("---------------------\r\n"); createRandomArray(randomArray); printf("冒泡排序\r\n"); bubbleSort(randomArray); print(randomArray); printf("---------------------\r\n"); break; case 2: printf("---------------------\r\n"); createRandomArray(randomArray); printf("选择排序\r\n"); selectionSort(randomArray); print(randomArray); printf("---------------------\r\n"); break; case 3: printf("---------------------\r\n"); createRandomArray(randomArray); printf("快速排序\r\n"); quickSort(randomArray,0,arraySize-1); print(randomArray); printf("---------------------\r\n"); break; case 0: exit(0); break; default: printf("---------------------\r\n"); printf("输入有误,重新输入\r\n"); printf("---------------------\r\n"); break; } } return 0;}
0 0
- 【C语言】冒泡排序,选择排序,快速排序
- 冒泡排序 选择排序 快速排序(C语言)
- C语言分别实现冒泡排序、快速排序、选择排序
- c语言排序之冒泡排序,选择排序,插入排序,快速排序总结
- C语言程序----排序(直接插入排序,SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序)
- 冒泡排序,插入排序,选择排序和快速排序-C语言
- C语言 冒泡排序 快速排序 直接插入排序 选择排序
- C语言:冒泡排序、选择排序、快速排序、插入排序、“shell”法
- C语言之桶排序,冒泡排序,快速排序,选择排序算法学习
- C语言冒泡选择排序
- 【C语言】冒泡排序,选择排序。
- C 语言 选择排序和冒泡排序
- C语言选择排序与冒泡排序
- C语言之冒泡排序、选择排序
- 选择排序 冒泡排序 C语言实现
- 【排序】快速排序 冒泡排序 选择排序
- 排序算法----冒泡排序+插入排序+选择排序+快速排序+希尔排序+堆排序+归并排序+计数排序+基数排序+桶排序(c语言)
- 排序-冒泡,快速(选择排序)
- hdu2255 (二分图最优匹配)
- iOS - 判断当前系统版本号
- 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置
- HDU 5363 Key Set
- java和javac编译运行java程序
- 冒泡排序 选择排序 快速排序(C语言)
- dark
- hdu 5360 Hiking(2015 Multi-University Training Contest 6)
- error:“1”: 宏形参表中的意外
- 仿Android L 长按Home键显示最近使用应用信息及清理
- Android布局优化
- iOS统一设置状态栏的样式,交给代理AppDelegate
- 经典排序算法之简单选择排序
- Android中的布局优化方法