算法示意图:
#includeusing namespace std;struct DATA{ int id; char name[20];};struct info{ DATA data; info * pNext;};//头节点info * g_Head = NULL;void CreateList(){ //创建头节点 info * pHead = new info; if(pHead) { pHead->data.id = NULL; memset(pHead->data.name,0,10); pHead->pNext = NULL; g_Head = pHead; }}void Add(int id,char * str){ info * pData = new info; pData->data.id = id; strcpy(pData->data.name,str); pData->pNext = NULL; info * p = g_Head,*p1; while(p) { p1 = p; p = p->pNext; } p1->pNext = pData;}void print(){ info * p = g_Head; while(p) { cout << p->data.id << " " << p->data.name << endl; p = p->pNext; }}int main(int argc, char* argv[]){ CreateList(); Add(1,"李大"); Add(2,"王五"); Add(3,"罗博特"); print(); getchar(); return 0;}