数据结构_带有结点的单链表相关操作_C语言源代码
2014-07-09 22:31
549 查看
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;;
}LNode;
void InitList(LNode *&L)
{
L=(LNode*)malloc(sizeof(LNode));
L->next=NULL;
}
void CreateListR(LNode *&L,int a[],int n)
{
int i;
LNode *r=L,*s=NULL;
for(i=0;i<n;i++)
{
s=(LNode*)malloc(sizeof(LNode));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
void VisitList(LNode *L)
{
LNode *s=L->next;
while(NULL!=s)
{
printf("%d\n",s->data);
s=s->next;
}
}
void ListDelete(LNode *&L,int elem)
{
LNode *s=L;
LNode *q=NULL;
while(s->next!=NULL)
{
if(s->next->data==elem)
{
q=s->next;
s->next=q->next;
free(q);
return ;
}
s=s->next;
}
}
int main(void)
{
const int N=5;
int a
={2,3,4,5,6};
LNode *L;
InitList(L);
CreateListR(L,a,N);
VisitList(L);
putchar(10);
ListDelete(L,6);//删除元素6
VisitList(L);
system("pause");
return 0;
}
#include<stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;;
}LNode;
void InitList(LNode *&L)
{
L=(LNode*)malloc(sizeof(LNode));
L->next=NULL;
}
void CreateListR(LNode *&L,int a[],int n)
{
int i;
LNode *r=L,*s=NULL;
for(i=0;i<n;i++)
{
s=(LNode*)malloc(sizeof(LNode));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
void VisitList(LNode *L)
{
LNode *s=L->next;
while(NULL!=s)
{
printf("%d\n",s->data);
s=s->next;
}
}
void ListDelete(LNode *&L,int elem)
{
LNode *s=L;
LNode *q=NULL;
while(s->next!=NULL)
{
if(s->next->data==elem)
{
q=s->next;
s->next=q->next;
free(q);
return ;
}
s=s->next;
}
}
int main(void)
{
const int N=5;
int a
={2,3,4,5,6};
LNode *L;
InitList(L);
CreateListR(L,a,N);
VisitList(L);
putchar(10);
ListDelete(L,6);//删除元素6
VisitList(L);
system("pause");
return 0;
}
相关文章推荐
- 数据结构_顺序栈的建立及相关操作_C语言源代码
- 【数据结构】链表及相关操作(C语言实现)
- 数据结构_链栈的建立与相关操作_C语言源代码
- 数据结构——单向链表的基本操作C语言描述(克服对头结点和尾结点的操作)
- C语言单链表的基本操作(带表头结点)
- 11-数据结构_链表相关操作
- C语言数据结构中队列的相关操作
- [数据结构]双链表删除结点P的操作
- 数据结构_顺序表相关操作C语言源代码
- 链表的c源代码及一些相关操作
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- c语言数据结构链表源代码----笛风读书笔记系列
- 对链表的相关操作及数据结构的再理解
- 带有头结点的单链表的操作
- 数据结构 单链表操作(源代码)
- bo2-3.c 带有头结点单链表的基本操作
- 数据结构C语言>3基本链表>3-9具有头结点的链表
- 对链表的相关操作及数据结构的再理解
- 数据结构_双链表的建立及相关操作