单链表链式结构的创建

翻看之前的书本,总结一下数据结构方面的小知识点。关于单链表的顺序结构就不说了,比较简单。

点击(此处)折叠或打开


  1. 下面用C++来简单的说明:

  2. #include<iostream>
  3. using namespace std;
  4. struct List {

  5. int data;
  6. struct List *next; //结点
  7. };


  8. List *CreateFirst() {

  9. List *first;
  10. first = new List; //创建头结点,并初始化
  11. first->next = NULL;
  12. return first;
  13. }


  14. List *InitialList(List *first) { //用尾插法创建链表,并赋值


  15. List *p, *head;
  16. /* 首插法创建链表
  17. for (int i = 0; i < 10; i++) {
  18. = new List;
  19. p->data = i;
  20. ->next = first ->next;
  21. first ->next = p; 

  22. }**/
  23. head = first;//这一步很关键,否则下面只能打印出来链表的最后一个结点的数据域

  24. for (int i = 0; i < 10; i++) {
  25. = new List;
  26. p->data = i;
  27. head->next = p;
  28. head = p; 
  29. head->next = NULL;

  30. }
  31. return first;
  32. }


  33. void PrintList(List *first) {

  34. do {

  35. first = first->next;
  36. cout << first->data << " ";

  37. while (first != NULL);
  38. }
  39. int PrintLength(List *first) {

  40. int i = 0;
  41. for (List *= first; q !=NULL ; q = q->next) {

  42. i++;
  43. }
  44. return i-1;
  45. }
  46. void main() {

  47. List *s, *t;
  48. = CreateFirst();
  49. = InitialList(s);
  50. PrintList(t);

  51. }



还有关于链表的插入删除,今天先写到这。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值