Hoán đổi 2 struct khi sắp xếp struct Sinh Vien theo SĐT như thế nào?

Em khởi tạo Struct tên là SoDienThoai
SoDienThoai s[] là chuỗi có kiểu string. Em đang sắp xếp nhưng chỉ biết hoán đổi nơi SĐT.
Các Bro cho em hỏi nếu hoán đổi các thành phần trong Struct theo SĐT thì phải dùng gì ạ?

void SxTheoSDT(SoDienThoai s[], int n) {
			// Sap xep tang dan
	SoDienThoai temp;
	for (int i = 1; i < n; i++)
		for (int j = i+1; j <= n; j++) 
			if (s[i].sdt > s[j].sdt) {
				string temp;
				temp = s[i].sdt;
				s[i].sdt = s[j].sdt;
				s[j].sdt = temp;
			}

https://en.cppreference.com/w/cpp/algorithm/swap

3 Likes

Bạn hãy giải thích code của bạn, chỗ đoạn if đó có nghĩa là gì?

1 Like

Bạn nên dùng std::swap thay vì cứ phải tự làm thế kia.
Nếu muốn sắp xếp thì dùng vector và sort.
Sort sẽ có biểu thức để kiểm tra điều kiện sắp xếp.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?