美文网首页
目前的排序方式小总结

目前的排序方式小总结

作者: b6aed1af4328 | 来源:发表于2016-09-25 15:23 被阅读1次

    这是我目前已知的排序的2种方式,一种借助中介数组,本身数组元素个数不断减少最大值元素再来挑选剩余的最大值;
    另一种不借助中介数组,通过两两比较将最大值元素提到前端,通过for循环增大i值来避免再次碰到最大值元素,再挑选剩余的最大值。

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int num[10], max[10] = {}, s;
        printf("请输入:\n");
        for (int i = 0; i <= 9; i++)
        {
            scanf_s("%d", &num[i]);
    
        }
        for (int i = 0; i <= 9; i++)
        {
        
            for (int j =0; j <= 9; j++)
            {
    
                if (max[i] < num[j])
                {
                    max[i]=num[j];
                    s = j;
                }
                }
            printf("%d", max[i]);
            for (int k = s; k <= 10 - i; k++)
            {
                num[k] = num[k + 1];
            }
        }
        system("pause");
        return 0;
    }
    /*int main()
    {
        int i, j, p, q, s, a[10];
        printf("input 10 numbers:\n");
        for (i = 0; i < 10; i++)
        {
            scanf_s("%d", &a[i]);
        }
        for (i = 0; i < 10; i++)
        {
    //      p = i;
    //      q = a[i];
            for (j = i + 1; j < 10; j++)
            {
                //      if (q < a[j])
                //      {
                //          p = j;
                //          q = a[j];
                //      }
                //      if (i != p)
                //      {
                //          s = a[i];
                //          a[i] = a[p];
                //          a[p] = s;
                //      }
                if (a[i] < a[j])
                {
                    s = a[i];
                    a[i] = a[j];
                    a[j] = s;
                }
            }
            printf("%d", a[i]);
        }
            
        
        system("pause");
        return 0;
    }*/
    

    相关文章

      网友评论

          本文标题:目前的排序方式小总结

          本文链接:https://www.haomeiwen.com/subject/jgsfyttx.html