![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
Object_in_java
这个作者很懒,什么都没留下…
展开
-
桶排(C语言)
#include<stdio.h>int main(void){ int a[]={1,3,5,9,2,4,10,8,7}; int aLen = sizeof(a)/sizeof(int); //求最大值防止越界 int max = a[0]; for(int i = 0;i < aLen;i++){ if(a[i] > max) max = a[i]; } //b数组为桶 int bLen = max + 1; int b[bLen]={0原创 2020-11-02 14:31:40 · 632 阅读 · 2 评论 -
插入排序 (C语言)
#include<stdio.h>void insertionSort(int a[],int len){ for(int i=1,j;i<len;i++){ int key = a[i]; for(j=i-1;j>=0&&key<a[j];j--){ a[j+1] = a[j]; } a[j+1] = key;//记得加1,因为j相比边界多减了一个 }}//分开的写法,可能更便于理解//void insert(int a[]原创 2020-10-10 18:37:48 · 139 阅读 · 0 评论 -
选择排序 (C语言)
#include<stdio.h>void Selection (int a[],int len){ for(int i=0;i<len-1;i++){ //i代表子序列的第一位,一开始子序列等于整个序列,i<len-1并不是防止越界,而是没有必要 int min = a[i];//这一步很巧妙,与最后的赋值互相呼应 int minIndex = i; for(int j=i;j<len;j++){//每次选择一个最小的放在子序列第一位 if(a[j]原创 2020-10-10 17:31:46 · 109 阅读 · 0 评论 -
冒泡排序 (C语言)
#include<stdio.h>int *bubble(int a[],int len){// int len = sizeof(a)/sizeof(int); //这样写是错误的,因为a传进来的是个指针,sizeof(a)是8 for(int i=0;i<len-1;i++) for(int j=0;j<len-1;j++) if(a[j]>a[j+1]){ int t = a[j]; a[j] = a[j+1]; a[j+1] =原创 2020-10-10 16:47:41 · 1686 阅读 · 5 评论