当前位置:
首页 >
冒泡排序 选择排序 快速排序(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位技术专家共同创作,文字、视频、音频交互阅读
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读
总结
以上是生活随笔为你收集整理的冒泡排序 选择排序 快速排序(C语言)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 栈(C语言)
- 下一篇: 链表排序(C语言)选择排序