Untitled

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
751 B
2
Indexable
Never
void xoa_sv(danh_sach_sv &ds_sv)
{
    string del;
    cin.ignore();
    cout << "Nhap Ma So Can Xoa : \n";
    fflush(stdin);
    getline(cin, del);

//Danh sách rỗng
  if (ds_sv.pHead == NULL)
  {
    return;
  }
// Danh sách có 1 sinh viên, và trùng với mã số cần xoá.
  if (del.compare(ds_sv.pHead->data.mssv) == 0)
  {

    node_sv *p = ds_sv.pHead;
    ds_sv.pHead = ds_sv.pHead->pNext;
    delete p;
    return;
  }
 
//Danh sách nằm trong khoảng không phải đầu và cuối/
  node_sv *g = NULL;
  for (node_sv *k = ds_sv.pHead; k != NULL; k = k->pNext)
  {
    if (del.compare(k->data.mssv) == 0)
    {
      g->pNext = k->pNext;
      delete k;
      return;
    }
    g = k;
  }
}