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 !

     




    ! "#
 
    ! $ ! "#
%&
%&
%&

'
'
 ()
 
*
'
 
()



'
1. Viết hàm thêm một phần tử mới giá trị x vào ngay sau node hiệu pNode.
Giả sử pNode này cho trước.
2. 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.
a. Khai báo các cấu trúc dữ liệu cần thiết.
b. 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
  
 
 ++ ,)  #, ++ 

- .#   /01#0230$3400506402780234  9 4:
* $ ;#
 

 %&<*  = %&< > ?
.#
 ++ ,(   4 4  #  # * = > ? @
, ++ 
 ++ ,, ++ %&< ++ ,, ++ %&<* ++ , ,
.#  0A:06402780234  9 4:
'

%&
'

.#  0$ ;#06402780234  9 4:
 ++ ,B #  4  4  #  # * = > ?, ++ 
'
'
| 1/2

Preview text:

  1. Viết hàm thêm một phần tử mới giá trị x vào ngay sau node 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;

}

}

  1. 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.
    1. Khai báo các cấu trúc dữ liệu cần thiết.
    2. 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;

}

}