静态链表的实现

《数据结构》实验二:

                线性表综合实验

一.实验目的

     巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题

 

.实验内容

1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。

要求如下:

1)用顺序表来实现。

2)用单链表来实现。

3)用双链表实现。

4)用静态链表实现。

5)用间接寻址实现。


静态链表的实现

#include 
using namespace std;
const int MaxSize=100;

struct SNode
{ 
   int data;
   int next;
   
};//建立静态链表 


class SLList{
	public:
		SLList();
		SLList(int a[],int n);
		int Length();
		int Get(int i);
		int Locate(int x);
		void Insert(int i,int x);
		int Delete(int i);
		void PrintList();
	private:
		SNode  SList[MaxSize];
	    int first,avail;
};


void SLList::PrintList()
{
	int p;
	int i=0;
	p=SList[first].next;  //使其指向第一个元素
	while(p!=-1)
	{
		i=i+1;
		cout<MaxSize||a<=0)  throw"错误";
	first=0;avail=1;
	SList[0].next=avail;
	for(int i=0;i>n;
	for(j=0;j>d[j];
	}  	
    SLList SLL(d,n);		
    
	while (1)
 	{
	cout<<"\t\t\t\t\t**********     静态链表的实现     **********"<>tab;
  		switch(tab)
  		{
  			case 1:
   			{
				cout<<"\t\t\t\t\t1.输出学生成绩 :";
    			SLL.PrintList();
				cout<>loc;
    			x=SLL.Get(loc);
				cout <<"\t\t\t\t\t要查找的成绩是:"<>x;
    			loc=SLL.Locate(x);
     			cout<<"\t\t\t\t\t输入要查找成绩的位置是:"<>loc;
    			cout<<"\t\t\t\t\t输入要插入的成绩:";
    			cin>>x;
    			SLL.Insert(loc,x);
				cout<>loc;
				x=SLL.Delete(loc);
				cout<

执行结果截图:
1)录入并输出学生成绩

2)输出表长

3)按位查找

4)按值查找

5)插入操作

6)插入成功后输出成绩

7) 删除操作

8)插入成功后输出成绩

猜你喜欢

转载自blog.csdn.net/c77777_/article/details/78208023