排序算法

来源:互联网 发布:淘宝950图片轮播代码 编辑:程序博客网 时间:2024/06/05 14:34
#include <stdio.h>/**冒泡排序,由于本例的核心在于算法,因此采用非输入方式**//**默认从小到大**/ #define N 10int main(){    int i, j;    int temp;    int a[N] = {0, 5, 1, 3, 8, 11, 2, 3, -2, -3};            for(i = 0; i < N - 1; i++)        for(j = i+1; j < N; j++ )        {            if(a[i] > a[j])            {                temp = a[j];                a[j] = a[i];                a[i] = temp;            }                   }             for(i = 0 ; i < N; i++)    printf("%d\t", a[i]);      return 0; } 


 

 

#include <stdio.h>/**插入排序,由于本例的核心在于算法,因此采用非输入方式**//**默认从小到大**/#define N 10int main(){    int i, j, k,t;    int a[N] = {0, 5, 1, 3, 8, 11, 2, 3, -2, -3};            for(i = 1; i < N; i++)    {        t = a[i];        j = i;                while(j > 0 && a[j-1] > t)        {                a[j] = a[j-1];                --j;                  }                a[j] = t;    }             for(i = 0 ; i < N; i++)    printf("%d\t", a[i]);      return 0; } 


 

 

#include <stdio.h>/**选择排序,由于本例的核心在于算法,因此采用非输入方式**//**默认从小到大**/#define N 10int main(){    int i, j, k, t;    int temp;    int a[N] = {0, 5, 1, 3, 8, 11, 2, 3, -2, -3};            for(i = 0; i < N - 1; i++)    {        k = a[i];        t = i;                for(j = i+1; j < N; j++ )        {            if(k > a[j])            {                k = a[j];                t = j;            }                   }                if(t != i)        {             temp = a[i];             a[i] = a[t];             a[t] = temp;        }    }             for(i = 0 ; i < N; i++)    printf("%d\t", a[i]);      return 0; } 


 

 

原创粉丝点击