zoukankan      html  css  js  c++  java
  • c语言 9-5

    1、线性查找法

    #include <stdio.h>
    
    #define FAILED -1
    
    int len(char x[])
    {
        int len = 0;
        while(x[len])
            len++;
        return len;
    }
    
    int search(char x[], char key)
    {
        int i = 0;
        while(1)
        {
            if(i == len(x))
                return FAILED;
            if(x[i] == key)
                return i;
            i++;
        }
    }
    
    int main(void)
    {
        char str[128];
        printf("str: "); scanf("%s", str);
        printf("position: %d
    ", search(str, 'c'));
        return 0;
    }

    2、线性查找法

    #include <stdio.h>
    
    #define FAILED -1
    
    int len(char x[])
    {
        int i = 0;
        while(1)
        {
            if(x[i] == '')
                return i;
            i++;
        }
    }
    
    int search(char x[], char key)
    {
        int i = 0;
        while(1)
        {
            if(i == len(x))
                return FAILED;
            if(x[i] == key)
                return i;
            i++;
        }
    }
    
    int main(void)
    {
        char str[128];
        printf("str: "); scanf("%s", str);
        printf("position: %d
    ", search(str, 'c'));
        return 0;
    }

    3、线性查找法

    #include <stdio.h>
    
    #define FAILED -1
    
    int length(char x[])
    {
        int i = 0;
        while(1)
        {
            if(x[i] == '')
                return i;
            i++;
        }
    }
    
    int search(char x[], char key)
    {
        int len, i;
        len = length(x);
        for(i = 0; i < len; i++)
        {
            if(x[i] == key)
                return i;
        }
        if(i == len)
            return FAILED;
    }
    
    int main(void)
    {
        char str[128];
        printf("str: "); scanf("%s", str);
        
        printf("position: %d
    ", search(str, 'c'));
        return 0;
    }

    4、哨兵查找法

    #include <stdio.h>
    
    #define FAILED -1
    
    int length(char x[])
    {
        int i = 0;
        while(1)
        {
            if(x[i] == '')
                return i;
            i++;
        }
    }
    
    int search(char x[], char key)
    {
        int len = length(x);
        x[len] = key;
        int i = 0;
        while(1)
        {
            if(x[i] == key)
                break;
            i++;
        }
        return i < len ? i : FAILED;
    }
    
    int main(void)
    {
        char str[128];
        printf("str: "); scanf("%s", str);
        printf("pos: %d
    ", search(str, 'c'));
        return 0;
    }

    5、简化

    #include <stdio.h>
    
    #define FAILED -1
    
    int search(char x[], char key)
    {
        int i = 0;
        while(1)
        {
            if(x[i] == key)
                return i;
            if(x[i] == '')
                return FAILED;
            i++;
        }
    }
    
    int main(void)
    {
        char str[128];
        printf("str:  "); scanf("%s", str);
        printf("pos:  %d
    ", search(str, 'c'));
        return 0;
    }

  • 相关阅读:
    小甲鱼Python第021讲函数:lambda表达式 | 课后测试题及参考答案
    小甲鱼Python第020讲函数:内嵌函数和闭包 | 课后测试题及参考答案
    How to reference two table when lack reference column.
    how find a record import other database.
    when create a table,then show error ora-00952 tablespace tsb_1 not exist
    TELNET_COMMAND
    ORACLE_SPOOL
    OFFICE_EXCEL_Combine text from two or more cells into one cell.
    ORACLE_LPAD_FUNCTION
    ORACLE_PROCEDURE_DROPTABLE
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14811379.html
Copyright © 2011-2022 走看看