#include<iostream> #include<vector> using namespace std; void schedule(vector< vector<int> > &table, int n, int k){ for(int i = 1; i <= n; i++){ //初始化表格第一行 table[1][i] = i; } int m = 1; for(int s = 1; s <= k; s++){ n /= 2; for(int t = 1; t <= n; t++){ //对每一部分进行划分(达到分治目的) for(int i = 1 + m; i <= 2*m; i++){ //控制行 for(int j = 1 + m; j <= 2*m; j++){ //控制列 table[i][j + (t-1)*m*2] = table[i - m][j + (t-1)*m*2 - m]; //右下角等左于上角的值 table[i][j + (t-1)*m*2 - m] = table[i - m][j + (t-1)*m*2]; //左下角等于右上角的值 } } } m *= 2; } } int input(int n, int k){ do{ n = n / 2; k++; }while(n > 1); return k; } void display(vector< vector<int> > &table, int n){ cout << "比赛日程表:" << endl; for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++){ cout << table[i][j] << " "; if(j == 1) cout << "| "; } cout << endl; } } int main(){ int k = 0; int n = 0; cout << "请输入要比赛的人数: "; cin >> n; vector< vector<int> > table(n+1, vector<int>(n+1)); //创建一个二维数组表示日程表 k = input(n, k); //2的K次方 schedule(table, n, k); display(table, n); return 0; }的代码优化
时间: 2024-01-28 19:02:51 浏览: 66
#include_iostream.h_
4星 · 用户满意度95%
以下是对代码的优化建议:
1. 函数的命名应该清晰明了,表达其功能,schedule 函数的功能应该在函数名中体现。
2. 函数中的变量名应该具有描述性,不仅方便理解,也更容易维护。
3. 在代码中添加注释,以便他人更好地理解代码。
4. 代码中应该尽可能避免魔法数字,应该用常量或宏定义代替。
5. 在代码中应该尽可能使用 STL 容器和算法,以提高代码的可读性和可维护性。
6. 代码中应该尽可能使用语言内置的功能,比如范围 for 循环,以提高代码的简洁性和可读性。
7. 代码中应该尽量避免使用全局变量,应该将变量的作用范围限制在函数内部。
8. 代码中应该尽量避免冗余的代码,比如 input 函数中的 do-while 循环可以用 while 循环代替。
9. 代码中应该尽量遵循单一职责原则,保证每个函数只做一件事情。
下面是优化后的代码示例:
阅读全文