[置顶] 数据结构之 单链表的实现与操作

// 链表.cpp : 定义控制台应用程序的入口点。 //

#include "stdafx.h" #include "malloc.h" #define maxSize 10 //单链表节点定义 typedef struct LNode {  char data;  struct LNode *next; }LNode; //插入数据 在第locate个节点位置插入 void Listinsert(LNode *&L,int locate,int x) {  LNode *p,*s;  p=L;  int j=0;  while(p!=NULL&&j<locate-1)  {   p=p->next;   j++;  }  s=(LNode*)malloc(sizeof(LNode));  s->data=x;

 s->next=p->next;  p->next=s; } //删除节点 void ListDel(LNode *&L,int locate) {  LNode *p,*q;  int j=0;  p=L;  while(p->next!=NULL&&j<locate-1)  {   p=p->next;   j++;  }  q=p->next;  p->next=q->next;  free(q);

} void show(LNode *L) {  LNode *p=L->next;  while(p!=NULL)  {   printf("%d ",p->data);   p=p->next;  } } void CreatelistR(LNode *&L,int a[],int n) {  LNode *s,*r;  L=(LNode*)malloc(sizeof(LNode));  L->next=NULL;  r=L;  for(int i=0;i<n;i++)  {   s=(LNode*)malloc(sizeof(LNode));   s->data=a[i];   r->next=s;   r=s;  }  r->next=NULL; } int _tmain(int argc, _TCHAR* argv[]) {  LNode *L;  int a[]={2,4,5,7,8,20};  CreatelistR(L,a,6);  //ListDel(L,1);  Listinsert(L,1,-1);  Listinsert(L,1,-2);  Listinsert(L,1,-3);  Listinsert(L,1,-4);  Listinsert(L,1,-6);  Listinsert(L,1,-7);  show(L); }

posted @ 2013-09-24 01:05  小竹zz  阅读(191)  评论(0编辑  收藏  举报