1.冒泡排序

原理:比较相邻的元素,如果前面一个比后面一个大(小),那么就交换两个数的位置,然后一直往后(前)比较,每次循环都会得到一个最大(小)的数。

int bubble_sort(int array[],int n)
{int i,j;//从小到大
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(array[j]>=array[j+1])
            {
                int t=array[j];
                array[j]=array[j+1];
                array[j+1]=t;
            }
        }
    }
   //打印
for(i=0;i<n;i++) { printf("%d ",array[i]); } puts("over"); return 0; }

 2.选择排序

原理: 在未排序的数列中找到最大(小)的数,放到已排序的数列末尾。

int select_sort(int a[],int n)
{int i,j;//从小到大
    for(i=0;i<n-1;i++)
    {
        int k=i;
        for(j=i+1;j<n;j++)
        {
            if(a[k]>=a[j])
            {
                k=j;    
            }
        }
        if(k!=i)
        {
            int temp=a[k];
            a[k]=a[i];
            a[i]=temp;
        }
    }
   //print
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    puts("over");
    return 0;
}

3.插入排序

原理:

 

 

 

https://blog.csdn.net/qq_41835250/article/details/107630967

 

posted on 2021-04-29 16:53  ღ惟吾德馨ღ  阅读(54)  评论(0)    收藏  举报