Mọi người giúp mk bài này đc ko ạ, mk cảm ơn trc nha^^
- Trình bày giải thuật sắp xếp kiểu đổi chỗ (exchange sort) (Hay còn gọi là kiểu nổi bọt) theo dàn ý sau:
- Ý tưởng
- Giải thuật
- Độ phức tạp thời gian trong các trường hợp tốt nhất, tồi nhất và trung bình
- Viết chương trình nhận vào một mảng, sắp xếp mảng này theo giải thuật nổi bọt
- Danh sách liên kết:
Cài đặt danh sách liên kết với một số thao tác theo gợi ý sau:
#include <iostream>
using namespace std;
template <typename T>
class SingleList
{
public:
SingleList()
{
…
}
~SingleList()
{
…
}
// Kiem tra xem danh sach co rong hay khong.
bool empty()
{
…
}
// Tra ve kich thuoc (so phan tu).
int getSize()
{
…
}
// Tra ve phan tu dau danh sach.
T front()
{
…
}
// In cac phan tu tren cung mot dong, cach nhau boi dau cach.
void print()
{
…
}
// Chen x vao dau danh sach.
void pushFront(T x)
{
…
}
// Xoa phan tu dau danh sach.
void popFront()
{
…
}
// Kiem tra xem danh sach co chua x hay khong.
bool contains(T x)
{
…
}
// Xoa x khoi danh sach (neu co).
// Neu x xuat hien nhieu lan trong danh sach, chi xoa phan tu dau tien bang x.
void remove(T x)
{
…
}
}
private:
struct Node
// kieu du lieu cua cac nut trong danh sach
{
…
};
Node * head;
// con tro toi nut dau danh sach
int size;
// kich thuoc danh sach
};
int main()
{
//Tao danh sách ban đầu bằng cách liên tục dùng pushFront() vào đầu danh sách
//Kiểm tra các thao tác trên danh sách vừa tạo:
/*
• Chèn một phần tử vào đầu danh sách
• Xóa một phần tử có nội dung cho trước khỏi danh sách
• Trả về kích thước danh sách
• Trả về nội dung phần tử đầu danh sách mà không hủy phần tử này
• Kiểm tra xem danh sách có rỗng hay khong
• Kiểm tra xem một phần tử cho trước có trong danh sách hay không
*/
}