单链表C
来源:互联网 发布:银行家算法例题 编辑:程序博客网 时间:2024/05/01 23:37
#define OK 1
#define ERROR 0
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LinkList;
int initLinkList(LinkList &l);
int insertLinkList(LinkList &l,int x);
int deleteLinkList(LinkList &l,int x);
int main(){
LinkList l;
initLinkList(l);
insertLinkList(l,1);
insertLinkList(l,2);
insertLinkList(l,3);
deleteLinkList(l,3);
LNode* node = l.next;
while(node->next){
printf("%d\n",node->next->data);
node = node->next;
}
scanf("%d");
return 0;
}
int initLinkList(LinkList &l){
LNode* head = (LNode*)malloc(sizeof(LNode)); //带头结点的单链表
if(head == NULL)
return ERROR;
head->next = NULL;
l.next = head;
return OK;
}
int insertLinkList(LinkList &l,int x){
LNode *node = (LNode*)malloc(sizeof(LNode));
if(node == NULL)
return ERROR;
node->data = x;
node->next = NULL;
LNode *p = l.next;
while(p->next){
p = p->next;
}
p->next = node;
node = NULL;
free(node);
return OK;
}
int deleteLinkList(LinkList &l,int x){
if(l.next == NULL)
return ERROR;
LNode *p = l.next;
while(p->next){
if(p->next->data == x){
p->next = p->next->next;
return OK;
}
p = p->next;
}
return ERROR;
}
#define ERROR 0
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LinkList;
int initLinkList(LinkList &l);
int insertLinkList(LinkList &l,int x);
int deleteLinkList(LinkList &l,int x);
int main(){
LinkList l;
initLinkList(l);
insertLinkList(l,1);
insertLinkList(l,2);
insertLinkList(l,3);
deleteLinkList(l,3);
LNode* node = l.next;
while(node->next){
printf("%d\n",node->next->data);
node = node->next;
}
scanf("%d");
return 0;
}
int initLinkList(LinkList &l){
LNode* head = (LNode*)malloc(sizeof(LNode)); //带头结点的单链表
if(head == NULL)
return ERROR;
head->next = NULL;
l.next = head;
return OK;
}
int insertLinkList(LinkList &l,int x){
LNode *node = (LNode*)malloc(sizeof(LNode));
if(node == NULL)
return ERROR;
node->data = x;
node->next = NULL;
LNode *p = l.next;
while(p->next){
p = p->next;
}
p->next = node;
node = NULL;
free(node);
return OK;
}
int deleteLinkList(LinkList &l,int x){
if(l.next == NULL)
return ERROR;
LNode *p = l.next;
while(p->next){
if(p->next->data == x){
p->next = p->next->next;
return OK;
}
p = p->next;
}
return ERROR;
}
0 0
- 单链表(c++)
- 单链表(c++)
- 单链表C
- C单链表
- c 单链表
- 【c++】单链表
- c单链表
- 【C】单链表
- C 单链表
- C/C++,数据结构单链表实现约瑟夫环
- 单链表的操作(C#)
- 单链表 C程序
- 单链表(C#)实现
- 数据结构(C#)--单链表
- 数据结构(C#)--单链表
- C ++ 动态单链表 代码
- 用C实现单链表
- c 单链表操作
- 注册表操作
- 第十八章 18.1.1节练习
- 【iOS XMPP】使用XMPPFramewok(二):用户登录
- SICP 习题 (2.25)解题总结:列表的操作
- 忙,不是止步不前的借口
- 单链表C
- NTC热敏电阻的B值
- SICP 习题 (2.26)解题总结:列表操作符append cons list
- 关于C语言的理解
- 发短信
- VC6.0启动File->open和Project->add file to project崩溃的解决方法
- dbi dpi dsi
- csu1329(双向链表)
- SICP 习题 (2.27)解题总结:树状列表的遍历