01/10/2018, 15:35
Hỏi về selection sort cho danh sách liên kết đơn trong C?
làm s để e có thể sử dụng thuật toán selection sort cho danh sách liên kết trong C ạ??? Tại nếu e dùng bằng mảng, khi tìm giá trị min thì có thể đổi chỗ trực tiếp tại giá trị min đó, còn nếu dùng danh sách liên kết đơnm khi kết thúc vòng for tìm min thì chỉ ra kết quả min, không thể đổi chỗ tại vị trí p->key được ạ.
void selectionsort(int a[], int n)
{
for (int i = 0; i < n - 1; i++)
{
int imin = i;
for (int j = i + 1; j < n; j++)
{
if (a[imin] > a[j])
imin = j;
}
if (a[i] > a[imin])
HoanVi(a[i], a[imin]);
}
}
thuật toán trên mảng một chiều đây ạ.
Bài liên quan
Gợi ý: thực ra imin chỉ là vt tương đối so với a thôi.
Đã làm được r, cám ơn nhìu ạ.
Bạn đánh tick cho mình nhé