30/09/2018, 21:14
Danh sách liên kết trong c++?
mình lên xem video của anh ltd nhưng khổ nổi bí ngay bài danh sách liên kết.Lên mạng tham khảo cũng không dc do bài của ltd khác bài của các anh lập trình kia khá nhiều.Ai chỉ cho mình danh sách liên kết viết như thế nào và cách khởi tạo, kết thúc, … ae biết j chỉ hết đi.
Bài liên quan
Bạn đã học và DSLK chưa? nếu rồi chắc bạn đã biết cách khởi tạo Link List, thêm, sửa, xóa node rồi nhỉ?
Nếu bạn học qua rồi mà không biết làm thì tham khảo video sau: https://www.youtube.com/watch?v=Q4Q7WNb8nW8
thank bạn
cũng dc nhưng anh này vừa giảng vừa cua gái, nghe ớn ớn
cái này có vẻ đầy đủ
thank bạn rất rất rất rất rất rấ rất nhiều , tại ko có code nên mình chưa hiểu thui
code này sai tùm lum
Thôi nào các ông,lại tung code ra khoe r
code C++ mà đi đâu cũng thấy thừa chữ “struct” trong
struct Node *
Với lại C++ có hàm tạo sao ko xài, lại đi viết hàminitNode()
rồi chỉ xài có … 1 lần Chưa kể tới C++ có thể truyền tham chiếu ở đây ko thấy xài. Viết C trong C++ làm cái gì? Đọc code cứ tưởng như chăn bò trong thành phố…hàm
reverse
tự cho rằnghead
vàhead->next
phải khác NULL, tức là dslk phải có 2 phần tử trở lên thì mớireverse
được, còn dslk rỗng hoặc chỉ có 1 phần tử thì runtime error ngay.code em lên mấy trang nước ngoài kiếm
em đang chuyển code này sang c++ nhưng khổ ngay cái reverse, em đang làm vd để hiểu về link list nhưng đang bó tay hay anh jup chuyển wa c++ lun đi
em lên mạng tham khảo toàn bắt xài struct, trong video anh ltd không nói rõ về phần tạo ra link list, lại ko có code nên h đang ngu
Mình cũng có thắc mắc giông bạn
đưa code mà ko hiểu gì thì đưa làm gì…
Mình có cái tài liệu về môn cấu trúc dữ liệu. Bạn xem qua
https://drive.google.com/file/d/0B3Q4lBUmPVORUlM3TnlRZ0xERW8/view?usp=sharing
Code của mình viết cũng khá lâu rồi chưa đụng lại, chắc có lỗi, nhưng bạn cứ xem tham khảo
#include “stdafx.h”
#include “conio.h”
#include “iostream”
#include “stdio.h”
const int MSSV = 9;
struct SinhVien
{
char strMSSV[MSSV];
char strHoTen[30];
char strNamSinh[5];
float fDiemTrungBinh;
};
struct SinhVienNode
{
SinhVien info;
SinhVienNode * pNext;
};
struct List
{
SinhVienNode * pHead;
SinhVienNode * pTail;
};
void init(List & l)
{
l.pHead = l.pTail = NULL;
}
void createList(List & l);
SinhVien setInfo();
SinhVienNode * getNode(SinhVien info);
SinhVienNode * getP(List & l, SinhVienNode * p);
void showList(List l);
SinhVienNode * searchMSSV(List l, char strMSSV[9]);
SinhVienNode * getHead(List & l);
SinhVienNode * getAfter(List & l, SinhVienNode * q);
void removeNode(List & l, SinhVienNode * p);
SinhVienNode * insertHead(List & l, SinhVien info);
SinhVienNode * insertTail(List & l, SinhVien info);
void insertAfter(List & l, SinhVienNode * q, SinhVienNode * p);
SinhVien removeNode(List &l);
SinhVienNode * getNodeMax(List l);
void main()
{
List lop18TH01;
}
SinhVien setInfo()
{
SinhVien Info;
}
SinhVienNode * getNode(SinhVien info)
{
SinhVienNode * p = new SinhVienNode;
}
void createList(List & l)
{
int a;
}
void showList(List l)
{
if (l.pHead == NULL)
{
printf(“Danh sach trong”);
return;
}
}
SinhVienNode * searchMSSV(List l, char strMSSV[MSSV])
{
SinhVienNode * p = l.pHead;
int iSum;
}
SinhVienNode * getP(List & l, SinhVienNode * p)
{
if (p == l.pHead)
{
l.pHead = l.pHead -> pNext;
return p;
}
}
void addHead(List & l, SinhVienNode * p)
{
if (l.pHead == NULL)
{
l.pHead = l.pTail = p;
}
else
{
p->pNext = l.pHead;
l.pHead = p;
}
}
void addTail(List & l, SinhVienNode * p)
{
if (l.pHead == NULL)
{
l.pHead = l.pTail = p;
}
else
{
l.pTail->pNext = p;
l.pTail = p;
}
}
SinhVienNode * insertHead(List & l, SinhVien info)
{
SinhVienNode * p = getNode(info);
}
SinhVienNode * insertTail(List & l, SinhVien info)
{
SinhVienNode * p = getNode(info);
}
void insertAfter(List & l, SinhVienNode * q, SinhVienNode * p)
{
if (q != NULL)
{
p->pNext = q->pNext;
p->pNext = p;
if (q == l.pTail)
l.pTail = p;
}
else
{
addTail(l, p);
}
}
SinhVienNode * getHead(List & l)
{
SinhVienNode * p = NULL;
}
SinhVienNode * getAfter(List & l, SinhVienNode * q)
{
SinhVienNode * p;
}
void removeNode(List &l, SinhVienNode * p)
{
if (p == NULL)
return;
}
float findMax(List l)
{
SinhVienNode * p = l.pHead;
float fMax = 0;
}
SinhVienNode * getNodeMax(List l)
{
SinhVienNode * p = l.pHead;
float fMax = findMax(l);
}
hiểu nhưng ko biết cách giải nên có code phân tích từ từ ra rùi chạy => xong, hiểu và làm dc