链表的遍历跟数组的遍历很相似,不过不同的是,数组可以通过索引值随机访问数据,而链表一定要通过遍历的方式访问其中的节点,如果要知道第n个节点的内容,就需要遍历n-1个节点。

C代码:
 1数据结构基础 - 链表的遍历 zz#include<stdio.h>
 2数据结构基础 - 链表的遍历 zz
 3数据结构基础 - 链表的遍历 zzstruct llist
 4{
 5数据结构基础 - 链表的遍历 zz    int num;
 6数据结构基础 - 链表的遍历 zz    char name[10];
 7数据结构基础 - 链表的遍历 zz    struct llist *next;
 8数据结构基础 - 链表的遍历 zz};
 9数据结构基础 - 链表的遍历 zztypedef struct llist node;
10数据结构基础 - 链表的遍历 zztypedef node *llink;
11数据结构基础 - 链表的遍历 zz
12数据结构基础 - 链表的遍历 zz
13
14数据结构基础 - 链表的遍历 zzllink createllist()
15{
16数据结构基础 - 链表的遍历 zz    llink head;
17数据结构基础 - 链表的遍历 zz    llink ptr,ptr1;
18数据结构基础 - 链表的遍历 zz    int i;
19数据结构基础 - 链表的遍历 zz    
20数据结构基础 - 链表的遍历 zz    head = (llink)malloc(sizeof(node));            //分配第一个节点
21数据结构基础 - 链表的遍历 zz    if(!head)
22数据结构基础 - 链表的遍历 zz        return NULL;    
23数据结构基础 - 链表的遍历 zz    printf("请输入六项邮寄数据:\n");
24数据结构基础 - 链表的遍历 zz    printf("请输入编号 ==> ");
25数据结构基础 - 链表的遍历 zz    scanf("%d",&head->num);
26数据结构基础 - 链表的遍历 zz    printf("请输入编号(%d)的姓名 ==> ",head->num);
27数据结构基础 - 链表的遍历 zz    scanf("%s",head->name);
28数据结构基础 - 链表的遍历 zz    head->next = NULL;
29数据结构基础 - 链表的遍历 zz    ptr = head;    
30数据结构基础 - 链表的遍历 zz    for(i = 1;i < 6; i++)
31{
32数据结构基础 - 链表的遍历 zz        ptr1 = (llink)malloc(sizeof(node));
33数据结构基础 - 链表的遍历 zz        if(!ptr1)
34数据结构基础 - 链表的遍历 zz            return NULL;
35数据结构基础 - 链表的遍历 zz        printf("请输入编号 ==> ");
36数据结构基础 - 链表的遍历 zz        scanf("%d",&ptr1->num);
37数据结构基础 - 链表的遍历 zz        printf("请输入编号(%d)的姓名 ==> ",ptr1->num);
38数据结构基础 - 链表的遍历 zz        scanf("%s",ptr1->name);
39数据结构基础 - 链表的遍历 zz        ptr1->next = NULL;
40数据结构基础 - 链表的遍历 zz        ptr -> next = ptr1;
41数据结构基础 - 链表的遍历 zz        ptr = ptr ->next;
42数据结构基础 - 链表的遍历 zz    }
43数据结构基础 - 链表的遍历 zz    return head;
44数据结构基础 - 链表的遍历 zz}
45数据结构基础 - 链表的遍历 zz
46
47数据结构基础 - 链表的遍历 zzllink findnode(llink head,int num)
48{
49数据结构基础 - 链表的遍历 zz    llink ptr;
50数据结构基础 - 链表的遍历 zz    
51数据结构基础 - 链表的遍历 zz    ptr = head;
52数据结构基础 - 链表的遍历 zz    while(ptr != NULL)
53{
54数据结构基础 - 链表的遍历 zz        if(ptr->num == num)
55数据结构基础 - 链表的遍历 zz            return ptr;
56数据结构基础 - 链表的遍历 zz        ptr = ptr->next;
57数据结构基础 - 链表的遍历 zz    }
58数据结构基础 - 链表的遍历 zz    return ptr;
59数据结构基础 - 链表的遍历 zz}
60数据结构基础 - 链表的遍历 zz
61数据结构基础 - 链表的遍历 zz
62数据结构基础 - 链表的遍历 zzvoid main()
63{
64数据结构基础 - 链表的遍历 zz    llink head;
65数据结构基础 - 链表的遍历 zz    llink ptr;
66数据结构基础 - 链表的遍历 zz    int num;
67数据结构基础 - 链表的遍历 zz    
68数据结构基础 - 链表的遍历 zz    head = createllist();
69数据结构基础 - 链表的遍历 zz    if(!head)
70{
71数据结构基础 - 链表的遍历 zz        printf("内存分配失败!\n");
72数据结构基础 - 链表的遍历 zz        exit(1);
73数据结构基础 - 链表的遍历 zz    }
74数据结构基础 - 链表的遍历 zz    while(1)
75{
76数据结构基础 - 链表的遍历 zz        printf("请输入要寻找的邮寄编号 ==> ");
77数据结构基础 - 链表的遍历 zz        scanf("%d",&num);
78数据结构基础 - 链表的遍历 zz        if(num != 0)
79{
80数据结构基础 - 链表的遍历 zz            ptr = findnode(head,num);
81数据结构基础 - 链表的遍历 zz            if(!ptr)
82数据结构基础 - 链表的遍历 zz                printf("没有找到\n");
83数据结构基础 - 链表的遍历 zz            else
84数据结构基础 - 链表的遍历 zz                printf("姓名:%s\n",ptr->name);
85数据结构基础 - 链表的遍历 zz        }
86数据结构基础 - 链表的遍历 zz        else
87数据结构基础 - 链表的遍历 zz            exit(1);
88数据结构基础 - 链表的遍历 zz    }
89数据结构基础 - 链表的遍历 zz}

C#代码:
  1数据结构基础 - 链表的遍历 zzusing System;
  2数据结构基础 - 链表的遍历 zz
  3数据结构基础 - 链表的遍历 zzclass Node
  4{
  5数据结构基础 - 链表的遍历 zz    private int num;
  6数据结构基础 - 链表的遍历 zz    
  7数据结构基础 - 链表的遍历 zz    public int Num
  8{
  9
 10
 11数据结构基础 - 链表的遍历 zz    }
 12数据结构基础 - 链表的遍历 zz    
 13数据结构基础 - 链表的遍历 zz    private string name;
 14数据结构基础 - 链表的遍历 zz    
 15数据结构基础 - 链表的遍历 zz    public string Name
 16{
 17
 18
 19数据结构基础 - 链表的遍历 zz    }
 20数据结构基础 - 链表的遍历 zz    
 21数据结构基础 - 链表的遍历 zz    private Node next;
 22数据结构基础 - 链表的遍历 zz    
 23数据结构基础 - 链表的遍历 zz    public Node Next
 24{
 25
 26
 27数据结构基础 - 链表的遍历 zz    }
 28数据结构基础 - 链表的遍历 zz}
 29数据结构基础 - 链表的遍历 zz
 30数据结构基础 - 链表的遍历 zzclass Llist
 31{
 32数据结构基础 - 链表的遍历 zz    //链表的创建
 33数据结构基础 - 链表的遍历 zz    public static Node CreateLlist()
 34{
 35数据结构基础 - 链表的遍历 zz        Node head;
 36数据结构基础 - 链表的遍历 zz        Node tempNode,tempNode1;
 37数据结构基础 - 链表的遍历 zz        int i;
 38数据结构基础 - 链表的遍历 zz        
 39数据结构基础 - 链表的遍历 zz      head = new Node();
 40数据结构基础 - 链表的遍历 zz      Console.WriteLine("请输入六项邮寄数据:\n");
 41数据结构基础 - 链表的遍历 zz      Console.WriteLine("请输入编号==>");
 42数据结构基础 - 链表的遍历 zz      head.Num = Convert.ToInt32(Console.ReadLine());
 43数据结构基础 - 链表的遍历 zz      Console.WriteLine("请输入编号({0})的姓名 ==>",head.Num);
 44数据结构基础 - 链表的遍历 zz      head.Name = Console.ReadLine();
 45数据结构基础 - 链表的遍历 zz      head.Next = null;
 46数据结构基础 - 链表的遍历 zz      tempNode = head;
 47数据结构基础 - 链表的遍历 zz      for( i = 1 ;i < 6; i++)
 48{
 49数据结构基础 - 链表的遍历 zz          tempNode1 = new Node();
 50数据结构基础 - 链表的遍历 zz          Console.WriteLine("请输入编号 ==>");
 51数据结构基础 - 链表的遍历 zz          tempNode1.Num = Convert.ToInt32(Console.ReadLine());
 52数据结构基础 - 链表的遍历 zz          Console.WriteLine("请输入编号({0})的姓名",tempNode1.Num);
 53数据结构基础 - 链表的遍历 zz          tempNode1.Name = Console.ReadLine();
 54数据结构基础 - 链表的遍历 zz          tempNode1.Next = null;
 55数据结构基础 - 链表的遍历 zz          tempNode.Next = tempNode1;
 56数据结构基础 - 链表的遍历 zz          tempNode = tempNode.Next;
 57数据结构基础 - 链表的遍历 zz      }
 58数据结构基础 - 链表的遍历 zz      return head;
 59数据结构基础 - 链表的遍历 zz    }
 60数据结构基础 - 链表的遍历 zz    
 61数据结构基础 - 链表的遍历 zz    //链表的节点遍历
 62数据结构基础 - 链表的遍历 zz    public static Node FindNode(Node head,int num)
 63{
 64数据结构基础 - 链表的遍历 zz        Node tempNode;
 65数据结构基础 - 链表的遍历 zz        
 66数据结构基础 - 链表的遍历 zz        tempNode = head;
 67数据结构基础 - 链表的遍历 zz        while(tempNode != null)
 68{
 69数据结构基础 - 链表的遍历 zz            if(tempNode.Num == num)
 70数据结构基础 - 链表的遍历 zz                return tempNode;
 71数据结构基础 - 链表的遍历 zz            tempNode = tempNode.Next;
 72数据结构基础 - 链表的遍历 zz        }
 73数据结构基础 - 链表的遍历 zz        return tempNode;
 74数据结构基础 - 链表的遍历 zz    }    
 75数据结构基础 - 链表的遍历 zz}
 76数据结构基础 - 链表的遍历 zz
 77数据结构基础 - 链表的遍历 zzclass Test
 78{
 79数据结构基础 - 链表的遍历 zz    public static void Main()
 80{
 81数据结构基础 - 链表的遍历 zz        Node head;
 82数据结构基础 - 链表的遍历 zz        Node tempNode;
 83数据结构基础 - 链表的遍历 zz        int num;
 84数据结构基础 - 链表的遍历 zz        
 85数据结构基础 - 链表的遍历 zz        head = Llist.CreateLlist();
 86数据结构基础 - 链表的遍历 zz        while(true)
 87{
 88数据结构基础 - 链表的遍历 zz            Console.WriteLine("请输入要寻找的邮寄编号 ==>");
 89数据结构基础 - 链表的遍历 zz            num = Convert.ToInt32(Console.ReadLine());
 90数据结构基础 - 链表的遍历 zz            if(num != 0)
 91{
 92数据结构基础 - 链表的遍历 zz                tempNode = Llist.FindNode(head,num);
 93数据结构基础 - 链表的遍历 zz                if(tempNode == null)
 94数据结构基础 - 链表的遍历 zz                    Console.WriteLine("没有找到\n");
 95数据结构基础 - 链表的遍历 zz                else
 96数据结构基础 - 链表的遍历 zz                    Console.WriteLine("姓名:{0}\n",tempNode.Name);
 97数据结构基础 - 链表的遍历 zz            }
 98数据结构基础 - 链表的遍历 zz            else
 99数据结构基础 - 链表的遍历 zz                break;
100数据结构基础 - 链表的遍历 zz        }
101数据结构基础 - 链表的遍历 zz    }
102数据结构基础 - 链表的遍历 zz}

C#代码显得有些生硬,还请见谅。

相关文章:

  • 2022-02-09
  • 2021-10-03
  • 2021-10-12
  • 2021-11-05
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
猜你喜欢
  • 2021-06-29
  • 2021-08-08
  • 2022-01-07
  • 2021-05-27
  • 2022-12-23
  • 2021-10-09
  • 2022-12-23
相关资源
相似解决方案