您的位置:首页 > 理论基础 > 数据结构算法

c数据结构——链表添加+删除+翻转

2011-11-02 14:45 337 查看
#include "stdafx.h"
#include "malloc.h"

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

struct Node{
int value;
struct Node* next=NULL;
}

head=null;

void delete(int number){
Node* p1=head;
if(p1->value==number){
head=p1->next;
p1->next=null;
free(p1);
}
else{
Node* p2=p1->next;
while(p2!=null){
if(p2->value==number){
p1->next=p2->next;
p2-next=null;
free(p2);
p2=p1-next;
}
else{
p1=p2;
p2=p2->next;
}
}
}
}
void preadd(int number){
Node* p1=head;
if(p1->value==number){
head=(Node)malloc(sizeof(Node));
head->next=p1}
else{
Node*p2=p1->next;
while(p2!=null){
if(p2->value==number){
p1->next=(Node)malloc(sizeof(Node));
p1=p1->next;
p1->next=p2;
p1=p2;
p2=p2->next;
}
p1=p2;
p2=p2->next;
}
}
}

void reverse(){
Node*p1=head;
p2=p1->next;
p3=p2->next;
while(p3!=null){
p1->next=null;
p2->next=p1;
p2=p3;
p1=p2;
p3=p3->next;
}
p2->next=p1;
head=p2;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐