⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse.c

📁 ACO解决TSP问题(蚁群优化)源码!!!
💻 C
📖 第 1 页 / 共 3 页
字号:
                    else if (++i < argc)                        options->arg_dlb = argv [i];                    else                    {                        option = optstr__dlb;                        goto error_missing_arg_long;                    }                    options->opt_dlb = 1;                    break;                }                goto error_unknown_long_opt;            case 'e':                if (strncmp (option + 1, optstr__eas + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                    {                        option = optstr__eas;                        goto error_unexpec_arg_long;                    }                    options->opt_eas = 1;                    break;                }                else if (strncmp (option + 1, optstr__elitistants + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_elitistants = argument;                    else if (++i < argc)                        options->arg_elitistants = argv [i];                    else                    {                        option = optstr__elitistants;                        goto error_missing_arg_long;                    }                    options->opt_elitistants = 1;                    break;                }                goto error_unknown_long_opt;            case 'h':                if (strncmp (option + 1, optstr__help + 1, option_len - 1) == 0)                {                    if (argument != 0)                    {                        option = optstr__help;                        goto error_unexpec_arg_long;                    }                    options->opt_help = 1;                    return i + 1;                }                goto error_unknown_long_opt;            case 'l':                if (strncmp (option + 1, optstr__localsearch + 1, option_len - 1) == 0)                {                    if (argument != 0)                        options->arg_localsearch = argument;                    else if (++i < argc)                        options->arg_localsearch = argv [i];                    else                    {                        option = optstr__localsearch;                        goto error_missing_arg_long;                    }                    options->opt_localsearch = 1;                    break;                }                goto error_unknown_long_opt;            case 'm':                if (strncmp (option + 1, optstr__mmas + 1, option_len - 1) == 0)                {                    if (argument != 0)                    {                        option = optstr__mmas;                        goto error_unexpec_arg_long;                    }                    options->opt_mmas = 1;                    break;                }                goto error_unknown_long_opt;            case 'n':                if (strncmp (option + 1, optstr__nnants + 1, option_len - 1) == 0)                {                    if (option_len <= 2)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_nnants = argument;                    else if (++i < argc)                        options->arg_nnants = argv [i];                    else                    {                        option = optstr__nnants;                        goto error_missing_arg_long;                    }                    options->opt_nnants = 1;                    break;                }                else if (strncmp (option + 1, optstr__nnls + 1, option_len - 1) == 0)                {                    if (option_len <= 2)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_nnls = argument;                    else if (++i < argc)                        options->arg_nnls = argv [i];                    else                    {                        option = optstr__nnls;                        goto error_missing_arg_long;                    }                    options->opt_nnls = 1;                    break;                }                goto error_unknown_long_opt;            case 'o':                if (strncmp (option + 1, optstr__optimum + 1, option_len - 1) == 0)                {                    if (argument != 0)                        options->arg_optimum = argument;                    else if (++i < argc)                        options->arg_optimum = argv [i];                    else                    {                        option = optstr__optimum;                        goto error_missing_arg_long;                    }                    options->opt_optimum = 1;                    break;                }                goto error_unknown_long_opt;            case 'q':                if (strncmp (option + 1, optstr__q0 + 1, option_len - 1) == 0)                {                    if (argument != 0)                        options->arg_q0 = argument;                    else if (++i < argc)                        options->arg_q0 = argv [i];                    else                    {                        option = optstr__q0;                        goto error_missing_arg_long;                    }                    options->opt_q0 = 1;                    break;                }                goto error_unknown_long_opt;            case 'r':                if (strncmp (option + 1, optstr__ras + 1, option_len - 1) == 0)                {                    if (option_len < 3)                        goto error_long_opt_ambiguous;                    if (argument != 0)                    {                        option = optstr__ras;                        goto error_unexpec_arg_long;                    }                    options->opt_ras = 1;                    break;                }                else if (strncmp (option + 1, optstr__rasranks + 1, option_len - 1) == 0)                {                    if (option_len <= 3)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_rasranks = argument;                    else if (++i < argc)                        options->arg_rasranks = argv [i];                    else                    {                        option = optstr__rasranks;                        goto error_missing_arg_long;                    }                    options->opt_rasranks = 1;                    break;                }                else if (strncmp (option + 1, optstr__rho + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_rho = argument;                    else if (++i < argc)                        options->arg_rho = argv [i];                    else                    {                        option = optstr__rho;                        goto error_missing_arg_long;                    }                    options->opt_rho = 1;                    break;                }                goto error_unknown_long_opt;            case 't':                if (strncmp (option + 1, optstr__time + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_time = argument;                    else if (++i < argc)                        options->arg_time = argv [i];                    else                    {                        option = optstr__time;                        goto error_missing_arg_long;                    }                    options->opt_time = 1;                    break;                }                else if (strncmp (option + 1, optstr__tours + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_tours = argument;                    else if (++i < argc)                        options->arg_tours = argv [i];                    else                    {                        option = optstr__tours;                        goto error_missing_arg_long;                    }                    options->opt_tours = 1;                    break;                }                else if (strncmp (option + 1, optstr__tries + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_tries = argument;                    else if (++i < argc)                        options->arg_tries = argv [i];                    else                    {                        option = optstr__tries;                        goto error_missing_arg_long;                    }                    options->opt_tries = 1;                    break;                }                else if (strncmp (option + 1, optstr__tsplibfile + 1, option_len - 1) == 0)                {                    if (option_len <= 1)                        goto error_long_opt_ambiguous;                    if (argument != 0)                        options->arg_tsplibfile = argument;                    else if (++i < argc)                        options->arg_tsplibfile = argv [i];                    else                    {                        option = optstr__tsplibfile;                        goto error_missing_arg_long;                    }                    options->opt_tsplibfile = 1;                    break;                }            default:error_unknown_long_opt:                fprintf (stderr, STR_ERR_UNKNOWN_LONG_OPT, program_name, option);                return -1;error_long_opt_ambiguous:                fprintf (stderr, STR_ERR_LONG_OPT_AMBIGUOUS, program_name, option);                return -1;error_missing_arg_long:                fprintf (stderr, STR_ERR_MISSING_ARG_LONG, program_name, option);                return -1;error_unexpec_arg_long:                fprintf (stderr, STR_ERR_UNEXPEC_ARG_LONG, program_name, option);                return -1;            }        }        else            do            {                switch (*option)                {                case 'a':                    if (option [1] != '\0')                        options->arg_alpha = option + 1;                    else if (++i < argc)                        options->arg_alpha = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_alpha = 1;                    break;                case 'b':                    if (option [1] != '\0')                        options->arg_beta = option + 1;                    else if (++i < argc)                        options->arg_beta = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_beta = 1;                    break;                case 'c':                    if (option [1] != '\0')                        options->arg_elitistants = option + 1;                    else if (++i < argc)                        options->arg_elitistants = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_elitistants = 1;                    break;                case 'd':                    if (option [1] != '\0')                        options->arg_dlb = option + 1;                    else if (++i < argc)                        options->arg_dlb = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_dlb = 1;                    break;                case 'e':                    if (option [1] != '\0')                        options->arg_rho = option + 1;                    else if (++i < argc)                        options->arg_rho = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_rho = 1;                    break;                case 'f':                    if (option [1] != '\0')                        options->arg_rasranks = option + 1;                    else if (++i < argc)                        options->arg_rasranks = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_rasranks = 1;                    break;                case 'g':                    if (option [1] != '\0')                        options->arg_nnants = option + 1;                    else if (++i < argc)                        options->arg_nnants = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_nnants = 1;                    break;                case 'h':                    options->opt_help = 1;                    return i + 1;                case 'i':                    if (option [1] != '\0')                        options->arg_tsplibfile = option + 1;                    else if (++i < argc)                        options->arg_tsplibfile = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_tsplibfile = 1;                    break;                case 'k':                    if (option [1] != '\0')                        options->arg_nnls = option + 1;                    else if (++i < argc)                        options->arg_nnls = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_nnls = 1;                    break;                case 'l':                    if (option [1] != '\0')                        options->arg_localsearch = option + 1;                    else if (++i < argc)                        options->arg_localsearch = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_localsearch = 1;                    break;                case 'm':                    if (option [1] != '\0')                        options->arg_ants = option + 1;                    else if (++i < argc)                        options->arg_ants = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_ants = 1;                    break;                case 'o':                    if (option [1] != '\0')                        options->arg_optimum = option + 1;                    else if (++i < argc)                        options->arg_optimum = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_optimum = 1;                    break;                case 'q':                    if (option [1] != '\0')                        options->arg_q0 = option + 1;                    else if (++i < argc)                        options->arg_q0 = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_q0 = 1;                    break;                case 'r':                    if (option [1] != '\0')                        options->arg_tries = option + 1;                    else if (++i < argc)                        options->arg_tries = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_tries = 1;                    break;                case 's':                    if (option [1] != '\0')                        options->arg_tours = option + 1;                    else if (++i < argc)                        options->arg_tours = argv [i];                    else                        goto error_missing_arg_short;                    option = "\0";                    options->opt_tours = 1;                    break;                case 't':                    if (option [1] != '\0')                        options->arg_time = option + 1;                    else if (++i < argc)                        options->arg_time = argv [i];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -