间接寻址的实现

《数据结构》实验二:

                线性表综合实验

一.实验目的

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

 

.实验内容

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

要求如下:

1)用顺序表来实现。

2)用单链表来实现。

3)用双链表实现。

4)用静态链表实现。

5)用间接寻址实现。

间接寻址的实现
#include
using namespace std;
const int MaxSize = 100;
struct Node    
{    
	int data;    
};
class Iadd{
	public:
		Iadd( );                         //构造函数,含头结点的空链表    
        Iadd(int a[], int n);      //构造函数,建立有n个元素的单链表    
        int Length(){ return length; }
	    int Get(int i);
	    int Locate(int x);
	    void Insert(int i,int x);
	    int Delete(int i);
        void PrintList();  
private:    
    Node *s[MaxSize];               //单链表的头指针    
    int length;  
};

void Iadd::PrintList()  //遍历操作 
{
	int i; 
	for( i=0;idata<<" ";
	}
}

Iadd::Iadd()  //无参构造函数 
{
	for(int i=0;idata = a[i];        //为每个数组指向结点填入数    
    }    
   length = n;    
}

int Iadd::Get(int i)  //按位查找 
{
	if(i<1 || i>length) throw"查找位置非法";
	else return s[i-1]->data;
}

int Iadd::Locate(int x) //按值查找 
{
	for(int i=0;idata==x) return i+1;
	return 0;  //查找失败,退出循环
}

void  Iadd::Insert(int i,int x)  //插入操作 
{
    int  j;
	if(length>=MaxSize) throw"上溢";
	if(i<1||i>length+1) throw"位置";
	for( j=length; j>i; j--)  s[j]=s[j-1];
	s[i-1]->data=x;
	length++;
}

int Iadd::Delete(int i)    //删除操作 
{
	int  j;
	if(length==0) throw"下溢";
	if(i<1||i>length)throw"位置";
	int x=s[i-1]->data;
	for(j=i;j>n;
	for(j=0;j>d[j];
	}  	
    Iadd Ia(d,n);
		while (1)
 	{
	cout<<"\t\t\t\t\t**********     间接寻址的实现     **********"<>tab;
  		switch(tab)
  		{
  			case 1:
   			{
				cout<<"\t\t\t\t\t1.输出学生成绩 :";
    			Ia.PrintList();
				cout<>loc;
    			x=Ia.Get(loc);
				cout <<"\t\t\t\t\t要查找的成绩是:"<>x;
    			loc=Ia.Locate(x);
     			cout<<"\t\t\t\t\t输入要查找成绩的位置是:"<>loc;
    			cout<<"\t\t\t\t\t输入要插入的成绩:";
    			cin>>x;
    			Ia.Insert(loc,x);
				cout<>loc;
				x=Ia.Delete(loc);
				cout<
执行结果截图:
1)录入并输出学生成绩

2)输出表长

3)按位查找

4)按值查找

5)插入操作

6)插入成功后输出成绩

7) 删除操作

8)插入成功后输出成绩


猜你喜欢

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