データ構造-単一チェーンテーブルの基本操作

2023 ワード

タイトルの要件:
次の単一チェーンテーブルの基本操作(単一チェーンテーブルの要素タイプelem typeはchar)を実現するプログラムを作成します.
(1)初期化単鎖表h(2)a,b,c,dを順次挿入し、e 5つの要素(3)出力単一チェーンテーブルh(4)出力単一チェーンテーブルhの長さ(5)単一チェーンテーブルhが空であるか否かを判断(6)出力単一チェーンテーブルhの3番目の要素(7)出力要素aの位置(8)4番目の要素位置に要素f(9)を挿入して単一チェーンテーブルh(10)を出力する3番目の要素(11)出力単一チェーンテーブルh(12)解放単一チェーンテーブルh
#include
using namespace std;
/*
*  elemtype      ,      
*typedef +      + elemtype
*/
typedef struct node
{
	char data;//elemtype data;
	struct node*next;
}linklist;//         

void init(linklist*&l)//      
{
	l=(linklist*)malloc(sizeof(linklist));
	l->next=NULL;
}
void display(linklist*&l)//     
{
	linklist*p=l->next;
	while(p!=NULL)
	{
		cout<data;
		p=p->next;
	}
	cout<next!=NULL)
	{
		n++;
		p=p->next;
	}
	return n;
}
void destroy(linklist*&l)//     
{
	linklist*pre=l,*p=l->next;
	while(p!=NULL)
	{
		free(pre);
		pre=p;
		p=pre->next;
	}
	free(pre);
}
void findelem(linklist*l,char e)//      
{
	int i=0;
	linklist*p=l->next;
	while(p!=NULL&&p->data!=e)
	{
		i++;
		p=p->next;
	}
	if(p==NULL)
		cout<next;
	}
	if(p==NULL)
		cout<='a'&&e<='e')
		//{
			s=(linklist*)malloc(sizeof(linklist));
			s->data=e;
			s->next=p->next;
			p->next=s;
		//}
		
	}
}
void deletelist(linklist*&l,int i)//   i   
{
	int j=0;
	linklist*p=l,*q;
	while(jnext;
	}
		if(p==NULL)
			cout<next;
			if(q==NULL)
				cout<data;
			p->next=q->next;
			free(q);
			cout<data=a[i];
		r->next=s;
		r=s;
	}
	r->next=NULL;
}
void find(linklist*&l,int n)//       
{
	int j=0;
	linklist*p=l;
	if(n<=0)
		cout<next;
	}
	if(p==NULL)
		cout<data;
		cout<next==NULL)
		cout<>n;
	insetsq(l,n,'e');//    a,b,c,d,e    
	insetsq(l,n,'d');
	insetsq(l,n,'c');
	insetsq(l,n,'b');
	insetsq(l,n,'a');
	cout<