有数据类型为整型的顺序表La和Lb,其数据元素均按从小到大的升序排列,编写一个算法将它们合并成一个表Lc,要求Lc中数据元素也按 升序排列感觉C#数据结构的书上讲得不对,觉得现在没几本讲C#数据结构的书好高手能详细帮我解答下吗??谢谢了

解决方案 »

  1.   

    管它什么 算法啊 结构的
    你把两个链表里的数据放Arraylist里 sort下 在放回LC不就得了编程新手论坛http://freshcoder.5d6d.com/bbs.php
      

  2.   

    数据结构是数据结构...C#是C#...没有讲C#数据结构的书是正常的...不要把C#当C用...just sample...
    int[] La = { 1, 4, 5, 7, 13, 15 };
    int[] Lb = { 2, 4, 6, 11, 12, 19 };List<int> c = new List<int>();c.AddRange(La);
    c.AddRange(Lb);c.Sort();int[] Lc = c.ToArray();
      

  3.   

    同意3楼的
    既然La和Lb都是已经排好序的,只要拿La的第一个元素和Lb的第一个元素比,小的那个插到Lc中,哪果La中的那个小就再拿La的第二个和Lb的第一个比,反之亦然,就这样比下去就行了
      

  4.   


    int i=0,j=0;
    while(i<la.length&&j<lb.length)
    {
       lc[i+j]=(la[i]<lb[j])?la[i++]:lb[j++];
    }
    while(i<la.length)
      lc[i+j]=la[i++];
    while(j<lb.length)
      lc[i+j]=lb[j++];
    运行完Lc就是你要的那个了