Chào các bạn
Mình đang tìm hiểu cách để tối ưu hóa code và có 2 đoạn như sau
Cách 1:
int check_left()
{
int y = column_input;
if(table[row_input][column_input-1] == turn || table[row_input][column_input-1] == 0)
return 0;
for(int i = column_input - 2; i >= 0; --i){
if(table[row_input][i] == 0)
return 0;
if(table[row_input][i] == turn){
y = i;
check = 1;
break;
}
}
for(int j = y+1; j <= column_input; ++j)
table[row_input][j] = turn;
return 0;
}
Cách 2:
int check_left(int *row_input, int *column_input)
{
int y = (*column_input);
if(table[(*row_input)][(*column_input)-1] == turn || table[(*row_input)][(*column_input)-1] == 0)
return 0;
for(int i = (*column_input) - 2; i >= 0; --i){
if(table[(*row_input)][i] == 0)
return 0;
if(table[(*row_input)][i] == turn){
y = i;
check = 1;
break;
}
}
for(int j = y+1; j <= (*column_input); ++j)
table[(*row_input)][j] = turn;
return 0;
}
Cho mình hỏi 2 cách trên có khác nhau gì về hiệu xuất, bộ nhớ, tốc độ không ạ. Mình nghĩ sử dụng pointer sẽ nhanh hơn, nhưng chính xác như thế nào thì mình không rõ.
Mong được chỉ giáo ạ, mình xin cảm ơn