c语言入门:排序算法
来源:互联网 发布:电话黄页怎么关闭网络 编辑:程序博客网 时间:2024/06/06 08:26
/** * @brief select_sort 选择排序 * @param arr * @param len */void select_sort(int *arr,int len){ for(int i=0;i<len;i++){ int mix=arr[i]; int index=i; for(int j=i;j<len;j++){ if(mix>arr[j]){ mix=arr[j]; index=j; } } if(index==i) continue; int temp=arr[i]; arr[i]=mix; arr[index]=temp; }}/** * @brief select_sort2 选择排序 * @param arr * @param len */void select_sort2(int *arr,int len){ for(int i=0;i<len;i++){ for(int j=i+1;j<len;j++){ if(arr[i]>arr[j]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } }}/** * @brief quick_sort 快速排序 * @param arr * @param left * @param right */void quick_sort(int *arr,int left,int right){ if(left>=right) return; int l=left; int r=right; int key=arr[l]; while(l<r){ while(l<r&&key<=arr[r]) r--; arr[l]=arr[r]; while(l<r&&key>=arr[l]) l++; arr[r]=arr[l]; } arr[l]=key; quick_sort(arr,left,l-1); quick_sort(arr,l+1,right);}/** * @brief insert_sort 插入排序 * @param arr * @param len */void insert_sort(int *arr,int len){ for(int i=1;i<len;i++){ for(int j=i;j>0;j--){ if(arr[j]<arr[j-1]){ int temp=arr[j]; arr[j]=arr[j-1]; arr[j-1]=temp; }else{ break; } } }}/** * @brief bubble_sort 冒泡排序 * @param arr * @param len */void bubble_sort(int *arr,int len){ int flag=0; for(int i=0;i<len;i++){ flag=0; for(int j=0;j<len-i-1;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; flag=1; } } if(flag==0) return ; }}/** * @brief printArr 遍历数组 * @param arr * @param len */void printArr(int *arr,int len){ for(int i=0;i<len;i++){ printf("%d\n",arr[i]); }}int main(int argc, char *argv[]){ int arr[10]={1,2,11,'a',134,12,59,67,95,6};// select_sort(arr,10);// select_sort2(arr,10); quick_sort(arr,0,9);// bubble_sort(arr,10); printArr(arr,10); return 0;}
阅读全文
1 0
- c语言入门:排序算法
- 算法入门->插入排序->C/C++ 语言实现
- 算法入门->冒泡排序->C/C++ 语言实现
- 算法入门->合并排序->C/C++ 语言实现
- C 语言排序算法
- C语言排序算法
- C语言排序算法
- 排序算法(c语言)
- 排序算法 --- C语言
- c语言排序算法
- C语言排序算法
- c语言排序算法
- c语言排序算法
- C语言排序算法
- C语言排序算法
- c语言排序算法
- C语言排序算法
- 排序算法 c语言
- 集群环境下的session问题
- RISC-V学习第一篇
- java中静态方法中调用非静态方法
- 2017计蒜客第五场初赛 UCloud 的安全秘钥(困难)(哈希算法)
- Python之转置(容易忽略)
- c语言入门:排序算法
- python 获取一个值在某个区间的指定倍数的值
- Android中SpannableString学习以及实现自定义TextView的显示更多(展开)和收起功能
- MySQL数据库备份问题
- LeetCode@Array_215_Kth_Largest_Element_in_an_Array
- 排序
- OFDM符号周期计算
- 成功的背后!(给所有IT人)(转)
- 动态规划——474. Ones and Zeroes[medium]