觀前提示,沒有涉及輸入錯誤這些情況的討論,也沒有涉及名字相同的情況
直接上**
節點類
public
:int score;
string id;
string name;
string gender;
node* next;
node()
void
display()
void
getinfor()
};
鏈結類
class
link
~link()
//銷毀}}
;
link實現,插入,刪除,查詢,列印
class
link
void
create()
//建立
}void
insert()
//插入
s = s-
>next;
} n++
; cout << endl <<
"插入後的結果:"
<< endl;
print()
;}void
dele()
//刪除
p = p-
>next;
q = q-
>next;
} n--
; cout << endl <<
"刪除後的結果:"
<< endl;
print()
;}void
find()
//查詢
p = p-
>next;}}
void
print()
//列印 }~
link()
}};
建立的關鍵**
for
(int i =
0; i < n; i++
)//迴圈插入也可以使用不斷增加節點插入
插入關鍵**
node* p =
newnode()
;//輸入的節點
cout <<
"位置 "
; cin >> pos;
//預設從0開始
cout <<
"學號 "
; cin >> p-
>id;
cout <<
"姓名 "
; cin >> p-
>name;
cout <<
"性別 "
; cin >> p-
>gender;
cout <<
"分數 "
; cin >> p-
>score;
node* s = head-
>next;
for(
int i =
0; i < n; i++
) s = s-
>next;
}
刪除
node* p = head-
>next;
node* q = head;
//定義前驅節點
while
(p !=
nullptr
) p = p-
>next;
q = q-
>next;
}
執行過程
void
work()
} link.
~link()
;}
全部**
#include
#include
#include
#include
using
namespace std;
int n, num;
class
node
void
display()
void
getinfor()
};class
link
void
create()
//建立
}void
insert()
//插入
s = s-
>next;
} n++
; cout << endl <<
"插入後的結果:"
<< endl;
print()
;}void
dele()
//刪除
p = p-
>next;
q = q-
>next;
} n--
; cout << endl <<
"刪除後的結果:"
<< endl;
print()
;}void
find()
//查詢
p = p-
>next;}}
void
print()
//列印 }~
link()
}};void
show()
void
work()
} link.
~link()
;}intmain()
以上 C 單鏈表實現
1 單向鍊錶 單向鍊錶 include include class cnode 節點類 class clist 鍊錶類 cnode movetrail cnode pnode 移動到尾節點 return ptmp void addnode cnode pnode 新增節點 else m nodesu...
c 實現單鏈表
include include using namespace std typedef int datatype struct linknode 建立乙個節點 class slist void swap slist s slist const slist s head null tail null ...
單鏈表(C實現)
ifndef list h define list h typedef struct node node typedef struct list list initlist int insertlist list l,void data,int size node findnodebykey lis...