- Câu hỏi 313102:
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);
A. Red
B. Green
C. Tất cả các phương án đều đúng
D. Yellow
- Câu hỏi 170777:
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào ngăn xếp (Stack). Phần tử nào được lấy ra cuối cùng
- Câu hỏi 170780:
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào hàng đợi (Queue). Phần tử nào được lấy ra đầu tiên
- Câu hỏi 170794:
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]:
A. Q.Head -> next = Q.Head;
B. Q.Head = NULL;
C. Q.Head = Q.Head -> next;
D. Q.Head -> next = NULL;
- Câu hỏi 170824:
Các thành phần của danh sách đơn gồm:
A. Dữ liệu (data)
B. Liên kết (link)
C. Số phần tử của danh sách (number)
D. Dữ liệu (data) và liên kết (link)
- Câu hỏi 305022:
Cho khai báo CTDL như sau:
struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};
struct List{ Node *head, *tail;};
Đâu là đoạn mã để tính tổng phụ cấp của tất cả các cán bộ và in ra màn hình?
A.
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;}
B.
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) printf(“%10.0f”, p->info.pc)}
C.
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;printf(“\n Tong phu cap:%f”, s);
}
D.
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.hsl;printf(“\n Tong phu cap:%f”, s);
}
- Câu hỏi 114191:
Cho thông tin của SV gồm: MaSV, HoTen, Tuoi, DTB
Đâu là đoạn mã để Sắp xếp danh sách SV theo Tuổi tăng dần bằng thuật toán Selection Sort
A. void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].Tuoi<x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
B. void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].Tuoi>x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
C. void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi < ds[min].Tuoi ) min = j; if( min != i )
{ tg = ds[min];
ds[min] = ds[i];
ds[i] = tg; } }}
D. void SXDSSV( int n, SV ds[]){ int max, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { max = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi > ds[max].Tuoi) max = j; if(max!= i )
{ tg = ds[max];
ds[max] = ds[i];
ds[i] = tg; } }}
- Câu hỏi 241684:
Đoạn mã cài đặt hàm tìm kiếm nhị phân phần tử x trên dãy sắp xếp tăng dần:
int BinarySearch( int a[ ], int n, int x )
{
int left = ……….., right = ……………;
int middle;
do
{
middle = (left+right)/2;
if (x == a[middle]) break;
else if (x<a[middle]) right = middle - 1;
else left = middle + 1;
} while ( left <= right );
if ( left <= right ) return middle;
else return -1;//ko tìm thấy phần tử x
}
Giá trị được điền vào dấu ………... để đoạn mã cài đặt thực hiện đúng:
A. 0 và n-1
B. n và 1
C. n-1 và 0
D. 1 và n
- Câu hỏi 241691:
Cho dãy sau: 23, 78, 45, 8, 32, 56. Dùng phương pháp sắp xếp chọn trực tiếp (Selection Sort) để sắp xếp tăng dần, sau 2 lần lặp thì kết quả của dãy là thế nào?
A. 23, 78, 45, 8, 32, 56
B. 8, 23, 45, 78, 32, 56
C. 8, 23, 32, 78, 56, 45
D. 8, 23, 78, 45, 32, 56
- Câu hỏi 563562:
Cho biết kết quả sau khi thực hiện đoạn chương trình sau:
int main()
{
int a[20], n,i,k;
k = a[n-1];
for(i=n-2; i>=0; i--)
if (a[i] < k)
k = a[i];
}
A. a[k] có giá trị nhỏ nhất
B. a[k] có giá trị lớn nhất
C. k có giá trị nhỏ nhất
D. k có giá trị lớn nhất