首页 > 其他 > 详细

链表的链接

时间:2014-03-12 22:36:06      阅读:591      评论:0      收藏:0      [点我收藏+]

最近在学苦逼的数据结构 ,牵涉到链表的算法 ,好多的内容不好想通,所以就采用分而破之的想法  一天学一点  !

今天就学习了链表的合并!

主要的算法思想就是:找到a链表的尾部 和b链表的头部链接在一起就可以了!

代码的主要实现过程是这样的:

(1)建立两个不同的数组,并赋值。

(2)把数组的内容放在链表中。这牵涉到链表的创建。如果对链表创建有啥不明白的可以看我下面的几篇文章 。是在我初学链表的时候做的链表的增删查改!

 学生信息管理系统分析

http://blog.csdn.net/liuzuyi200/article/details/8562872

链表的反转

http://blog.csdn.net/liuzuyi200/article/details/8948810

(3)把两个不同的链表连成一个链表。找到a链表的尾部 和b链表的头部链接在一起就可以了!我觉得这个实现还是比较简单的了!

(4)剩下的就是验证了 ,即输出合并后的链表 !

#include<stdio.h>
#include<stdlib.h>
struct llist
 {
  int num;
  struct List *next;
 };
typedef struct llist node;
typedef node *llink;
//链表内容的输出
void printllist(llink ptr)
{
   while( ptr  != NULL )
    {
       printf("%d",ptr->num);
       ptr =ptr->next;
    }
}
//链表的创建
llink createllist(int *array,int len)
 {
   llink head;
   llink ptr,ptr1;
    
    int  i;
     head =( llink )malloc( sizeof( node ));
      
         if(!head)
		return NULL;
      head->num =array[0];
      head->next =NULL;
      ptr= head;


        for(  i=1 ;i < len ; i++)
           {
           ptr1= ( llink )malloc( sizeof( node ));
             if( !ptr1)
                  return NULL;


           ptr1->num =array[i];
           ptr1->next =NULL;
           ptr->next=ptr1;
           ptr = ptr->next;


	   }
      return head;
 }


llink concatllist(llink ptr1,llink ptr2)
{
   //寻找到链表的最后一个结点   让a链表最后的一个结点的指针 指向b链表的头结点
   llink ptr;
    
   ptr= ptr1;


   while( ptr->next != NULL )
     {
           ptr = ptr->next;
      
      }
        ptr->next= ptr2;
     return ptr1;    
}




int main()
 {
     int llist1[6] = {1,2,3,4,5,6};
     int llist2[5] = {7,8,9,10,11};
        llink ptr,ptr1,ptr2;
 
    ptr1 =createllist(llist1,6);
        if( ptr1 == NULL )
            {
              printf("内存分配失败!\n");
		exit(1);
	    }
     ptr2=createllist(llist2,5);
        if( ptr2 == NULL )
            {
              printf("内存分配失败!\n");
		exit(1);
	    }
   ptr = concatllist(ptr1, ptr2);
   printllist(ptr);
   return 0;
 }


链表的链接,布布扣,bubuko.com

链表的链接

原文:http://blog.csdn.net/liuzuyi200/article/details/21113909

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!