一个数组中如何求出两个最小值

就是求出两个最小的,有没有高效一点的算法,用C语言


#include <stdio.h>
#include <stdlib.h>

void mymin()
{
    int a[10] = { 6,4,3,2,7,8,9,10,1,5 };
    int i, k, w;
    for (i = 0;i < 9;i++)
    {
        for (k = 0;k < 9 - i;k++)
        {
            if (a[k] > a[k + 1])
            {
                w = a[k];
                a[k] = a[k + 1];
                a[k + 1] = w;
            }
        }
    }

    printf("打印最小的两个值:\n%d,%d\n", a[0], a[1]);
}

int main()
{
    mymin();

    printf("End..........\n");
    system("pause");
    return 0;
}

更多C语言知识点请参考博客及专栏学习 https://blog.csdn.net/gzplyx?type=blog