Câu hỏi 170802:
Cho khai báo Stack như sau:
struct Stack
{
int top
int nut[max];
};
Cho biết phần tử được lấy ra cuối cùng trong Stack sau là bảo nhiêu?
int a[] = {4, 5, 6, 7, 8};
int n = 5;
Stack s;
for(int i = 0; i<n; i++)
push(s, a[i]);
Cho khai báo Stack như sau:
struct Stack
{
int top
int nut[max];
};
Cho biết phần tử được lấy ra cuối cùng trong Stack sau là bảo nhiêu?
int a[] = {4, 5, 6, 7, 8};
int n = 5;
Stack s;
for(int i = 0; i<n; i++)
push(s, a[i]);
Các thao tác được định nghĩa cho ngăn xếp một cách tổng quát
Cho đoạn mã sau
stack <int> s; for (int i = 1; i <= 5; i++)
s.push(i);
Phần tử được lấy ra cuối cùng của Stack là gì?
Cho đoạn mã sau, cho biết kết quả của x?
Stack S;
InitStack(S);
Push(S, “Green”);
Push(S, “Red”);
Push(S, “Yellow”);
Pop(S,x);
Pop(S, x);
Các ứng dụng cơ bản của hàng đợi gồm
Cho khai báo cấu trúc:
struct NodeQueue
{
int info;
struct NodeQueue *next;
struct NodeQueue *pre;
};
struct Queue
{
NodeQueue *Rear, *Front;
}
Queue Q;
Đoạn mã sau đây thực hiện yêu cầu gì?
void initQueue(Queue &Q)
{
Q.Rear = NULL;
Q.Front = NULL;
}
Cho đoạn mã sau
stack <int> s; for (int i = 1; i <= 5; i++)
s.push(i);
while (!s.empty()) {
cout << s.top() << endl; s.pop(); }
Kết quả in lên màn hình là gì?
Các trường hợp chèn thêm một phần tử mới vào danh sách liên kết đơn gồm:
void RemoveHead ( LIST &Q ){
Node *p;
if (Q.Head != NULL)
{
p = Q.Head;
…[1] …
free(p);
if ( Q.Head == NULL )
Q.Tail = NULL;
}
}
Dòng lệnh cần thiết được đặt vào chỗ trống tại dòng số [1]:
Đối với thuật toán sắp xếp chọn trực tiếp cho dãy phần tử sau (10 phần tử):
16 60 2 25 15 45 5 30 33 20
Cần thực hiện bao nhiêu lựa chọn phần tử nhỏ nhất để sắp xếp mảng M có thứ tự tăng dần
Cho thuật toán sau:
int LinearSearch( float M[], int N, float X)
{
int k = 0;
M[N] = X;
while (M[k] !=X)//n+1
k++;
if (k<N) return k;
return -1;
}
Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:
Cho mảng a gồm các phẩn tử có giá trị như sau:
3126
Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán đổi chỗ trực tiếp (Bubble Sort) để sắp xếp mảng giảm dần là:
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt RNL thì kết quả thu được thứ tự các phần tử là như thế nào?
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự RNL là:
Phương pháp duyệt NLR là phương pháp duyệt gì?
Cho khai báo Stack như sau:
struct Stack
{
int top
int nut[max];
};
Đoạn mã thực hiện thao tác gì?
void Push( Stack &s, int x)
{
if ( isFull(s) == 1)
{
printf("Stack day");
exit(1);
}
else
{
s.top = s.top + 1;
s.nut[ s.top ] = x;
}
}
Đâu là định nghĩa của Ngăn xếp
Cho đoạn mã sau, cho biết kết quả của x?
Queue Q;
InitQueue(Q);
Put(Q, “Green”);
Put(Q, “Red”);
Put(Q, “Yellow”);
Get(Q,x);
Get(Q,x);
Cho khai báo cấu trúc cây NPTK:
struct Node
{
int key;
Node *Left, *Right;
};
typedef Node *Tree;
và CTC insertNode(Tree &T, item x) để chèn thêm phần tử mới vào cây nhị phân tìm kiếm, nếu chèn thành công trả lại giá trị 0 nếu không chèn thành công trả lại giá trị -1
Đoạn mã nào sau đây để cho phép nhập liên tiếp các số nguyên đến khi bằng 0 thì dừng và tạo cây nhị phân tìm kiếm từ các số nguyên đã nhập đó.
Ứng dụng cơ bản của ngăn xếp gồm
Để giúp chúng tôi phát triển sản phẩm tốt hơn, đạt kết quả học tập cao hơn















