【软件工程基础】个人项目之数独求解代码优化
1.0版本性能分析 这一部分出现了一些小问题,主要是忘记进行性能检测了。因为在生成数独题目的时候,就索性进行了数独读入方面的优化,然后那部分的优化代码写完之后就直接把求解数独部分的读入一块更新了。所以只能直接把优化好的代码和性能分析结果贴出来了。 代码优化 前面也介绍过,这一部分的代码优化主要是读入数独和输出求解后的数独部分的代码优化。 首先是题目读入部分,方法从原来的一个个数的读入改成一行一行的数据读入,然后将读入的数据放入一个二位的int型数组进行后续的求解操作。然后是输出部分,因为求解好的数独存放在一个二维数组中,所以我的做法是效仿生成数独终局中的输出方法,将整个数独的结果放进一个一维数组中,这部分代码也和生成数独终局部分的一样。具体代码如下: while (ProblemOfSudoku.getline(str, LINE_LENGTH)) //读数独终局 { int ll = strlen(str); //读入的每一行的长度 for (int i = 0; i < ll; i++) { if (i % 2 == 0) { solve_sudoku[linecount][i / 2] = str[i] - '0'; } } linecount++; if (linecount % 9 == 0) //读完一整个数独后进行相应的操作 { linecount = 0