欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

冒泡排序 选择排序 快速排序(C语言)

发布时间:2025/10/17 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 冒泡排序 选择排序 快速排序(C语言) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#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; }
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的冒泡排序 选择排序 快速排序(C语言)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。