⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 线性表的应用.txt

📁 数据结构中C++实现的线性表的应用
💻 TXT
字号:



/* Note:Your choice is C IDE */
#include <stdio.h>
#include <malloc.h> 
#include <iostream> 
#include<string>  
#define ok  1
#define error 0
#define null 0
using namespace std; 

typedef struct lnode{
	int data;
	struct lnode *next;
	}lnode,*linklist;
typedef int status;
linklist createlist(linklist &l,int n)
{	int i;linklist p;
	l=(linklist)malloc(sizeof(lnode));
	l->next=null;
	cout<<"逆位输入几个元素:"<<endl;
	for(i=n;i>0;--i){
		p=(linklist)malloc(sizeof(lnode));
		cin>>p->data;
		p->next=l->next;l->next=p;
		}
	return(l);
}

void print(linklist l)
{	linklist p;
	p=l->next;
	while(p)
	{	cout<<p->data<<endl;
		p=p->next;
	}
}

status listinsert(linklist &l,int i,int e)
{
	linklist p,s;
	int j;
	p=l;  j=0;
	while(p&&j<i-1){p=p->next;++j;}
	if(!p||j>i-1) return error;
	s=(linklist)malloc(sizeof(lnode));
	s->data=e;
	s->next=p->next;
	p->next=s;
	return ok;
}

status listdelete(linklist &l,int i)
{linklist p,q;int j=0;
	p=l;
	while(p->next&&j<i-1)
	{p=p->next;  ++j;}
	if(!(p->next)||j>i-1) return error;
	q=p->next;p->next=q->next;
	  free(q);
	return ok;
}
void main()
{	int n,i,e,j;linklist l; 
	cout<<"请输入线性表的长度:"<<endl;
	cin>>n;
	createlist(l,n);
	cout<<"线性表为:"<<endl;
	print(l);
	
	cout<<"插入"<<endl;
	cout<<"请输入要插入的数:"<<endl;
	cin>>e;
	cout<<"请输入要插入的位置:"<<endl;
	cin>>i;
	while(i<1||i>n+1)
	{cout<<"插入的位置不合法,请重新输入要插入的位置:"<<endl;
		cin>>i;
	}
	listinsert(l,i,e);
	cout<<"线性表为:"<<endl;
	print(l);
	
	cout<<"删除"<<endl;
	cout<<"请输入要删除的位置"<<endl;
	cin>>j;
	while(j<=0||j>n+1)
	{cout<<"删除的位置不合法,请重新输入要删除的位置:"<<endl;
		cin>>j;
	}
	listdelete(l,j);
	cout<<"线性表为:"<<endl;
	print(l);
	
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -