zoukankan      html  css  js  c++  java
  • 循环链表

    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    typedef int Status;
    typedef float ElemType;
    typedef struct LXNode{
    	ElemType data;
    	struct LXNode * next;
    }LXNode,*LXLinkList;
    //函数的声明
    Status Creat_LX(LXLinkList &head);//链表的创建 
    void Print_LX(LXLinkList head);//链表元素的输出 
    Status Insert_LX(LXLinkList head,Status n);//链表的插入 
    Status Delete_LX(LXLinkList head,Status n);//链表的删除
    void Lunion(LXLinkList &La,LXLinkList &Lb);//俩个表的合并 
    
    Status Creat_LX(LXLinkList &head)//链表的创建
    {
    	LXLinkList p,q;
    	head=(LXLinkList)malloc(sizeof(LXNode));
    	p=head;
    	
    	Status i=0,j=0;
    	printf("请输入你想要创建链表元素的个数:
    ");
    	scanf("%d",&j);
    	for(i=0;i<j;i++)
    	{
    		q=(LXLinkList)malloc(sizeof(LXNode));
    		scanf("%f",&q->data);
    		p->next=q;
    		p=q;
    	}
    	p->next=head;
    }
    void Print_LX(LXLinkList head)//链表元素的输出 
    {
    	LXLinkList p;
    	p=head->next;
    	while(p!=head)
    	{
    		printf("%f ",p->data);
    		p=p->next;
    	}
    }
    Status Insert_LX(LXLinkList head,Status n)//链表的插入 
    {
    	LXLinkList p,s;
    	p=head;
    	Status i=1;
    	while(i<n)
    	{
    		i++;
    		p=p->next;
    	} 
    	s=(LXLinkList)malloc(sizeof(LXNode));
    	scanf("%f",&s->data);
    	s->next=p->next;
    	p->next=s;
    	return 0;
    } 
    Status Delete_LX(LXLinkList head,Status n)//链表的删除
    {
    	LXLinkList p,q;
    	Status i=1;
    	p=head->next;
    	while(p!=head&&i<n-1)
    	{
    		i++;
    		p=p->next;
    	}
    	q=p->next;//删除元素的地址
    	p->next=q->next;
    	free(q); 
    } 
    void Lunion(LXLinkList &La,LXLinkList &Lb)//俩个表的合并 
    {
    	LXLinkList p,q;
    	p=La->next; 
    	q=Lb->next; 
    	while(p!=La)
    	{
    		if(p->next==La)
    		{
    			break;	
    		}
    		p=p->next;
    	}
    	while(q!=Lb)
    	{
    		if(q->next==Lb)
    		{
    			break;
    		}
    		q=q->next;
    	}
    	p->next=Lb->next;
    	q->next=La;	
    }
    int main(int argc, char** argv) 
    {
    	LXLinkList head;
    	
    	//测试程序不规范 
    	Creat_LX(head);//创建链表 
    	Print_LX(head);//显示链表 
    	printf("
    ");
    	printf("------------------------------
    ");
    	Insert_LX(head,1);//链表元素的插入 
    	Print_LX(head);
    	printf("
    ");
    	printf("------------------------------
    ");
    	Delete_LX(head,2);
    	Print_LX(head);
    	return 0;
    }
    别废话,拿你代码给我看。
  • 相关阅读:
    TypesScript+Webpack
    TypeScript 类型
    git操作
    kafka
    java: cannot find symbol symbol: variable log
    Angular结构型指令,模块和样式
    Angular 自定义拖拽指令
    Angular changeDetction
    Angular 依赖注入
    RXJS Observable的冷,热和Subject
  • 原文地址:https://www.cnblogs.com/lvxueyang/p/13707580.html
Copyright © 2011-2022 走看看