arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

     刚看到一篇文章,http://news.csdn.net/a/20100719/219154.html

     说面试的一道题目是:

把N个元素插入到一个Vector里(或者ArrayList,或其它的你所选择的语言里被称作动态数组的东西)。

 

     我的想法是,创建一个新的单向链表,这个链表插入新数据是在头部,而不是尾部。这样就可以了。

     如Struct   List{

                struct List * next;

                void * data;

     };

 

     Struct   List *head=(struct List *)malloc(sizeof(struct List));

     head->data=NULL;

     head->next=NULL;

     循环,依次读取那个单向链表的值。

          struct List *prevEntry=****;

          if(head->next!=NULL){

                prevEntry->next=head->next;

                head->next=prevEntry;

          }else{

              head->next=prev;

 

         }

 

 

 

     这样从head开始的数据就是反向排列的。 

 

      当然这个方法没有任何优化。仓促写就。

 

 

posted on 2010-07-21 00:18  arm-linux  阅读(253)  评论(0)    收藏  举报