1 số đề thi CTDL & GT
Chia sẻ bởi Nguyễn Quỳnh Mai |
Ngày 19/03/2024 |
12
Chia sẻ tài liệu: 1 số đề thi CTDL & GT thuộc Công nghệ thông tin
Nội dung tài liệu:
Đề 4 (K46)
Câu1 .
a.Đặc tả
//DL.h
// Giải thích về lớp
#ifndef _DL_H_
#define _DL_H_
#include
class node
{
int data;
node * next;
node(int x)
{
data = x; next = NULL;
};
}
class DL
{
public :
DL()
// Khởi tạo danh sách rỗng
// Precondition
// Postcondition
{Head = NULL ; Tail = NULL; length = 0};
DL(const DL & _dl);
// Hàm kiến tạo copy
//
//
~ DL();
// Hàm hủy
//
//
DL& operator = (const DL & _dl);
// Toán tử gán
//
//
bool Empty() const ;
// Xác định xem danh sách có rỗng kô
// Precondition :
// Postcondition: Trả về true nếu danh sách rỗng
int Length() const;
//
bool IsExist(int x);
// Kiểm tra xem danh sách có chứa số nguyên x kô
// Precondition : danh sách khác rỗng
// Postcondition : trả về true…….
void Insert(int x);
//
//
//
friend DL& KetHop(const DL& dl1 , const DL& dl2);
//
//
//
private :
node * Head;
node * Tail;
int length;
}
#endif
b.Cài đặt
void DL :: Insert (int x)
{
node * Q = new node(x);
if (Empty())
{
Head = Q ; Tail = Q; length = 1;
}
node * Pre , P ;
Pre = P = Head;
While (Pre != Tail)
{
if ( x <= P->data ) break;
Pre = P;
P = P->next;
}
if (P == Head) // Chèn vào đầu
{
Q -> next = Head;
Head = Q;
}
else if (P == NULL) // Chèn vào cuối
{
Pre ->next = Q;
}
else //Chèn vào giữa
{
Q ->next = P;
Pre ->next = Q;
}
}
Câu 2
a.Mô tả
//HUT.h
// Giải thích về lớp
#ifndef _ HUT _H_
#define _ HUT _H_
#include
template
class node
{
item data;
int key;
node(const & item _data , const int & _key)
{
data = _data ; key = _key;
};
friend class HUT
}
template
{
public :
static const int SIZE = 1000;
HUT()
// Khởi tạo danh sách rỗng
// Precondition
// Postcondition
HUT (const HUT & _dl);
// Hàm kiến tạo copy
//
//
HUT (node * _element , int n)
// Xây dựng hàng ưu tiên từ n phần từ lưu trong mảng _element
~ HUT ();
// Hàm hủy
//
//
HUT & operator = (const HUT & _dl);
// Toán tử gán
//
//
bool Empty() const ;
// Xác định xem danh sách có rỗng kô
// Precondition :
// Postcondition: Trả về true nếu danh sách rỗng
int Length() const;
//
void Insert(node _data);
//
//
//
node & FindMin() const;
//
//
//
node & DeleteMin();
// Loại đối tượng có độ ưu tiên nhỏ nhất
//
// Trả về đối tượng có độ ưu tiên nhỏ nhất
private :
node element[SIZE];
int last;
void ShiftDown(int i);
// Đẩy dữ liệu trong đỉnh i xuống vị trí thích hợp
//
//
}
#endif
b.Cài đặt
template
{
assert(last >= 0);
element[0] = element[last];
ShiftDown(0);
}
Câu 3
a1.Mô tả
//ChainHash.h
// Giải thích về lớp
#ifndef _ ChainHash _H_
#define _ ChainHash _H_
#include
typedef int keyType;
template
class ChainHash
{
public :
static const int SIZE = 1000;
ChainHash ()
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Quỳnh Mai
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)