list

原创 2007年10月10日 21:08:00


#include <iostream.h>

struct Node
{
 long data;
 Node* next;
};

Node* Create(int *Arr, int n)
{
 if (n <= 0)
 {
  return NULL;
 }
 Node* head;    //Á´Ê×Ö¸Õë
 Node* pS;        //´´½¨µÄ½áµãÖ¸Õë
 Node* pEnd;      //Á´Î²Ö¸Õ룬ÓÃÓÚÔÚÆäºóÃæ²åÈë½áµã
 pS=new Node;     //н¨Ò»¸ö½áµã£¬×¼±¸²åÈëÁ´±í
 pS->data = Arr[0];    //¸ø½áµã¸³Öµ
 head=NULL;          //Ò»¿ªÊ¼Á´±íΪ¿Õ
 pEnd=pS;
 int cur = 1;
 while(cur <= n)
 {
  if(head==NULL)
   head=pS;
  else
   pEnd->next=pS;
  
  pEnd=pS;        //sµã
  pS=new Node;
  pS->data = Arr[cur];
  cur++;
 }
 pEnd->next=NULL;
 
 return(head);
}

void ShowList(Node* head)
{
 cout <<"now the items of list are /n";
 
 while(head)
 {
  cout << head->data << " ";
  head=head->next;
 }
 cout << endl;
}

Node * ReverseList(Node *head) //Á´±íÄæÐò
{
 if ( head == NULL || head->next == NULL )
  return head;
 Node *p1 = head ;
 Node *p2 = p1->next ;
 Node *p3 = p2->next ;
 p1->next = NULL ;
 while ( p3 != NULL )
 {
  p2->next = p1 ;
  p1 = p2 ;
  p2 = p3 ;
  p3 = p3->next ;
 }
 p2->next = p1 ;
 head = p2 ;
 return head ;
}

Node* insert(Node *head, int i, int data)
{
 Node *pHead = head;
 int j=0;
 
 Node *ins = new Node;
 ins->data = data;
 ins->next = NULL;

 if (head == NULL)
 {
  head = ins;
  return head;
 }
 while(pHead != NULL && j<i-1)
 {
  pHead = pHead->next;
  j++;
 }

 ins->next = pHead->next;
 pHead->next = ins;

 return head;
}

Node* del(Node *head, int i)
{
 Node *pHead = head;
 Node *del = NULL;;
 int j=0;
 
 if (head == NULL)
 {
  return NULL;
 }

 while(pHead->next != NULL && j<i-1)
 {
  pHead = pHead->next;
  j++;
 }

 del = pHead->next;
 pHead->next = del->next;
 delete del;

 return head;
}

Node* selectsort(Node *g)
{
 Node *p,*q,*t,*s,*h;
 h = new Node;
 h->next=g;
 p=h;
 while(p->next->next!=NULL)
 {
  for(s=p,q=p->next;q->next!=NULL;q=q->next)
   if(q->next->data<s->next->data)
    s=q;
   if(s!=q)
   {
    t=s->next;
    s->next=t->next;
    t->next=p->next;
    p->next=t;
   }
   p=p->next;
 }
 g=h->next;
 delete h;
 return g;
}

void main()
{
 int Arr[10] = {1, 4, 3};
 Node *head = Create(Arr, 3);
 ShowList(insert(head, 2, 11));
 Node *reverhead = ReverseList(head);
 ShowList(reverhead);
 ShowList(insert(reverhead, 2, 10));
 ShowList(del(reverhead, 2));
 ShowList(selectsort(reverhead));
}
 

List 中添加多个List集合以及add() 与addAll()的区别

如果有多个已经被实例化的List 集合,想要把他们组合成一个整体,并且,这里必须直接使用List 自身提供的一个方法List.addAll(),否则使用了List.add()方法,则会输出不正常的...
  • c_z_w
  • c_z_w
  • 2016年10月07日 19:08
  • 7522

C++中list用法详解

1.关于list容器 list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链...
  • yas12345678
  • yas12345678
  • 2016年09月20日 23:00
  • 15876

List集合知识总结

在编程过程中,会很频繁的使用集合,集合的相关知识也非常重要,也是每一个开发人员必须掌握的知识。 一:集合的概念 集合:保存数量不确定的数据,以及保存具有映射关系的数据的容器,简单的理解就是用于存储数量...
  • yuanjian19900610
  • yuanjian19900610
  • 2013年03月11日 23:51
  • 3790

STL之list函数详解

本文主要介绍了list的内部结构,list特殊的能力,以及list所支持操作函数,并在最终给出list应用实例。...
  • xiao3404
  • xiao3404
  • 2016年05月05日 22:18
  • 2054

Json与List的相互转换

问题由来:最近由于做一个项目,项目的一个功能就是根据Listview的内容生成一个二维码,然后扫描二维码获取list,再重新显示listview。核心就是: list—->生成二维码——>获取...
  • DeMonliuhui
  • DeMonliuhui
  • 2016年10月27日 19:54
  • 39844

List,Set,Map用法以及区别

List,Set,Map是否继承自Collection接口?  答:List,Set是,Map不是。 Collection是最基本的集合接口,一个Collection代表一组Object,即Coll...
  • vstar283551454
  • vstar283551454
  • 2013年03月17日 00:46
  • 55020

Java集合详解--什么是List

简述上章简单介绍了什么是集合,集合有哪几种种类。 在这章中我们主要介绍Collection的其中一种实现方式,List。 什么是List在上一章,我们已经了解了List主要分为3类,ArrayLi...
  • wz249863091
  • wz249863091
  • 2016年10月19日 22:20
  • 5250

把一个List拆分为指定大小一样的几个List

转自:http://blog.csdn.net/tengdazhang770960436/article/details/9145405 public static List> createLis...
  • dmlcq
  • dmlcq
  • 2017年12月13日 15:57
  • 129

去除list中重复的值,并对list排序

PermissionMenu.java import java.io.Serializable; import java.util.ArrayList; import java.util.Collec...
  • steveguoshao
  • steveguoshao
  • 2014年01月13日 16:26
  • 2083

Struts2获取request的几种方式汇总(list对象获取)

Struts2获取request三种方法   struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象。 ...
  • u011001084
  • u011001084
  • 2015年12月17日 19:22
  • 1428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:list
举报原因:
原因补充:

(最多只允许输入30个字)