链表输出指定位置的值

来源:互联网 发布:左程云 算法视频 下载 编辑:程序博客网 时间:2024/05/18 03:30
1. 创建一个新的链表,以指向数组的指针为形参(地址传递),返回链表的头指针
2. 找到一个链表指定位置的数据,以链表的头指针和位置为参数
3.主函数:输出链表L中以链表P的元素为位置的数据

typedef struct node
{
      int data;
      struct node *next;
};

struct node *create_List(int n,int *a)
{

     struct node *head,*p1;
     head=new node;
     p1=head;
     for(int i=0;i
     {
          p1->data=a[i];
          if(i!=n-1)
          {
                 p1->next=new node;
                 p1=p1->next;
          }
          else
                  p1->next=NULL;
      }
      return head;
}
 
int find_Data(struct node *head,int j)
{
      struct node *p;
      p=head;
      int i=0;
     while(p!=NULL)
     {
           if(i!=j)
           {
                  p=p->next;
           }
           else
                  break;
           i++;
      }
      return p->data;
}

void main()
{
       int a[4]={1,3,5,6};
       int b[7]={2,4,5,7,9,12,66};
       int k=0;
       int x=0;
       struct node *head1,*head2;
       head1=create_List(4,a);
       head2=create_List(7,b);
       for(int i=0;i<4;i++)
       {
             k=head1->data;
             x=find_Data(head2,k);
             printf("%d\n",x);
             head1=head1->next;
        }

}
0 0
原创粉丝点击