zoukankan      html  css  js  c++  java
  • 排序整合

    C语言实现:

    冒泡排序:

    #include <stdio.h>
    
    void swap(int num[], int i, int j);
    void Bubble(int num[], int n, int ascending);    //C没得bool
    
    int main()
    {
        //int i, numbers[10] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
        int i, numbers[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        Bubble(numbers, 10, 0);
        for (i = 0; i < 10; i++)
        {
            printf("%d ", numbers[i]);
        }
        printf("
    ");
        return 0;
    }
    void Bubble(int num[], int n, int ascending)
    {
        int i, j;
        for (i = 0; i < n; i++)        //i在这里代表已经冒过泡的数组元素个数
        {
            for (j = 1; j < n - i; j++)
            {
                if (ascending)
                {
                    if (num[j - 1] > num[j])
                        swap(num, j - 1, j);
                }
                else
                {
                    if (num[j - 1] < num[j])
                        swap(num, j - 1, j);
                }
            }
        }
    }
    void swap(int num[], int i, int j)
    {
        int temp = num[i];
        num[i] = num[j];
        num[j] = temp;
    }

    字符串反序:

    //main
    scanf("%s", str);
    reverse_NonRecursion(str, n);
    /*str = reverse_NonRecursion(str, n);
    printf("%s
    ", str);*/
    reverse_Recursion(str, n - 1);
    //logic
    char *swap(char *str, int lowIndex, int highIndex)
    {
        char temp = str[lowIndex];
        str[lowIndex] = str[highIndex];
        str[highIndex] = temp;
        return str;
    }
    //非递归
    void reverse_NonRecursion(char *str, int n)
    {
        int i;
        for (i = n - 1; i >= 0; i--)
        {
            printf("%c", str[i]);
        }
        printf("
    ");
    }
    //char *reverse_NonRecursion(char *str, int n)
    //{
    //    //从中间分开,两头对换就行
    //    int i;
    //    for (i = 0; i <= n / 2; i++)
    //    {
    //        str = swap(str, i, n - i - 1);
    //    }
    //    return str;
    //}
    //递归
    void reverse_Recursion(char *str, int i)
    {
        if (i < 0)
        {
            printf("
    ");
            return;
        }
        printf("%c", str[i]);
        reverse_Recursion(str, --i);
    }
  • 相关阅读:
    JS—ajax及async和defer的区别
    js-cookie和session
    h5小功能_classList和自定义属性data
    html5-attr和prop
    人工智能与金融
    IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
    终极复制 人工智能将如何推动社会巨变
    对人工智能问题的提问
    人工智能预测精神病
    人工智能代替工人
  • 原文地址:https://www.cnblogs.com/quanxi/p/6700808.html
Copyright © 2011-2022 走看看