Em đang làm bài Insertion Sort, mỗi bước insert thì hãy in ra mảng, đây là code:
void Insert(vector<int> arr, int rightIndex, int key)
{
int i;
for(i = rightIndex; i >= 0 && arr[i] > key; i--){
arr[i + 1] = arr[i];
}
arr[i+1] = key;
}
void InsertionSort(vector<int> arr)
{
for(int i = 1; i < arr.size(); i++){
Insert(arr, i - 1, arr[i]);
Output(arr);
}
}
Input
6
1 4 3 5 6 2
Output mong muốn
1 4 3 5 6 2
1 3 4 5 6 2
1 3 4 5 6 2
1 3 4 5 6 2
1 2 3 4 5 6
Output thực tế
1 4 3 5 6 2
1 4 3 5 6 2
1 4 3 5 6 2
1 4 3 5 6 2
1 4 3 5 6 2
Em mới biết cách dùng sơ sơ vector, nhưng chưa biết rõ
Em thử demo = C# với thuật toán y như thế, chỉ khác là dùng mảng, và thành công.
Vì vậy em nghĩ code em sai có thể là do em dùng vector không đúng.
Mà khổ là em lại không biết debug vector :’(
Mọi người xem giúp em với
Cám ơn ạ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?