Cấu trúc dữ liệu - Công nghệ thông tin | Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Thành phố Hồ Chí Minh
Viết hàm thêm một phần tử mới có giá trị x vào ngay sau node ký hiệu pNode. Giả sử pNode này cho trước. Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !
Môn: Máy tính và công nghệ thông tin
Trường: Trường Đại học Khoa học tự nhiên, Đại học Quốc gia Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
- Viết hàm thêm một phần tử mới có giá trị x vào ngay sau node ký hiệu pNode. Giả sử pNode này cho trước.
void insertMiddle(Node*& pHead, int x, Node* pNode)
{
Node* pNew = createNode(x);
if (!pHead) // Nếu danh sách rỗng pHead = pNew;
else // Nếu danh sách khác rỗng
{
pNew->pNext = pNode->pNext; pNode->pNext = pNew;
}
}
- Tọa độ của một điểm trên mặt phẳng Oxy gồm 2 thành phần nguyên x và y. Giả sử dùng DSLK đơn để quản lý các điểm này.
- Khai báo các cấu trúc dữ liệu cần thiết.
- Viết hàm in ra tất cả các điểm (có trong DSLK đơn) nằm trên đường thẳng
y=3x+2
struct ToaDo
{
int x, y;
};
struct Node
{
ToaDo data;
Node* pNext;
};
void printNode(Node* pHead)
{
if (!pHead)
cout << "Danh sach rong!" << endl; else
{
bool flag = false; // Biến dùng để kiểm tra có tìm được điểm thỏa mãn hay không
while (pHead)
{
if (pHead->data.y == 3 * pHead->data.x + 2)
{
if(!flag)
cout << "Tat ca cac diem nam tren duong thang y = 3x + 2 la:
" << endl;
cout << "(" << pHead->data.x << ";" << pHead->data.y << ") "; flag = true; // Đã tìm được điểm thỏa mãn
}
pHead = pHead->pNext;
}
if (!flag) // Nếu không tìm được điểm thỏa mãn
cout << "Khong co diem nao nam tren duong thang y = 3x + 2" << endl;
}
}