In bubble sort, after each pass of sorting in ascending, where is the largest element in the unsorted part of the array?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "It moved to the beginning of the sorted part". Sắp xếp nổi bọt tăng dần so từng cặp kề nhau và đổi chỗ khi cặp đó nghịch, nên sau một lượt quét phần chưa sắp, phần tử lớn nhất của phần đó bị đẩy dần tới ô cuối cùng của phần chưa sắp. Ô ấy nằm sát ngay vùng đã sắp ở đuôi mảng và từ lúc này thuộc vùng đã sắp, tức nó đứng ở vị trí đầu tiên của phần đã sắp xếp, còn ranh giới giữa hai phần lùi lại một ô. Mô tả "It moved to the end of the sorted part" chỉ đúng cho lượt đầu tiên, khi phần đã sắp còn rỗng nên ô cuối mảng vừa là đầu vừa là cuối; từ lượt thứ hai, cuối phần đã sắp luôn là ô cuối mảng đã có chủ từ trước. Mô tả "It stays in its position" trái với cơ chế đổi chỗ, phần tử lớn nhất bị mang đi sau mỗi lần so. Mô tả "It removed from the array" sai về bản chất, thuật toán chỉ đổi chỗ trong cùng một mảng và không xoá phần tử nào.
Cùng phần 7
What does the following program display?
#include <stdio.h>
int main() {
int a[5] = {1, 2, 3};
printf("%d %d %d %d %d", a[0], a[1], a[2], a[3], a[4]);
return 0;
}Có lời giảiCâu hỏiConsider the following code:
int func(int* a, int n){
int S = 0;
for(int i = 0; i < n; i++) {
S = S + (a[i] % 2)*a[i];
}
return S;
}
What does the above code snippet do?Có lời giảiCâu hỏiWhat does the expression sizeof(arr) / sizeof(arr[0]) evaluate to, where arr is an array?Có lời giảiCâu hỏiCả 21 câu của chủ đề21 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây