データ構造-単一チェーンテーブルの基本操作
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
次の単一チェーンテーブルの基本操作(単一チェーンテーブルの要素タイプ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<