栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【数据结构】天勤 例2-4 (查找链表C中是否存在值为x的结点)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数据结构】天勤 例2-4 (查找链表C中是否存在值为x的结点)

【例 2-4】查找链表C中是否存在一个值为x的结点,若存在,则删除该结点并返回1,否则返回0。

//核心代码块
int findAndDelete(LNode *B,int x){
	LNode *p,*q;
	p = B;
	while(p->next != NULL){
		if(p->next->data == x)
			break;
		p = p->next;
	}
	if(p->next == NULL)
		return 0;
	else{ //删除 
		q = p->next;
		p->next = p->next->next;
		free(q);
		return 1;
	}
}
//完整程序
#include 
#include 
#include 
#define N 15

typedef struct LNode{
	int data;
	struct LNode *next;
}LNode,*LinkList;

void init(LinkList &L){
	L = (LNode *)malloc(sizeof(LNode));
	L->next = NULL;
}

void show(LinkList &L){
	LNode *p;
	p = L->next;
	while(p!=NULL){
		printf("%d ",p->data);
		p=p->next;
	}
	printf("n");
}

void CreateListTail(LinkList &L){
	int n,e;
	LNode *temp = L;
	printf("以下使用尾插法创建单链表n输入要输入元素的个数n");
	scanf("%d",&n);
	printf("输入%d个元素值n",n);
	for(int i=0;i
		LNode *a = (LNode *)malloc(sizeof(LNode));
		scanf("%d",&e);
		a->data = e;
		temp->next = a;
		a->next = NULL;
		temp=temp->next;
	}
}

void createlistR(LNode *&B,int a[],int n){
	LNode *s,*r;
	int i;
	B = (LNode *)malloc(sizeof(LNode));
	B->next = NULL;
	r = B;
	for(i=0;i
		s = (LNode *)malloc(sizeof(LNode));
		s->data = a[i];
		r->next = s;
		r = r->next;
	}
	r->next = NULL;
}

int findAndDelete(LNode *B,int x){
	LNode *p,*q;
	p = B;
	while(p->next != NULL){
		if(p->next->data == x)
			break;
		p = p->next;
	}
	if(p->next == NULL)
		return 0;
	else{ //删除 
		q = p->next;
		p->next = p->next->next;
		free(q);
		return 1;
	}
}

int main(){
	LNode *A;
	int a[N],x,i;
	
	//产生13-63的随机数 
	srand((unsigned)time(NULL));
	for(i=0;i
		a[i] = rand()%51+13;
	}

	createlistR(A,a,N);
	show(A);
	
	printf("输入想要在链表A中查找的值:n");
	scanf("%d",&x);
	
	int judge = findAndDelete(A,x);
	if(judge == 1){
		printf("%d结点存在n删除%d结点后的链表为:n",x,x);
		show(A);
	}
	else{
		printf("%d结点不存在n");
	}
	
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019683.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号