数据结构回炉重造之一关于线性表

1.从最简单的开始之(线性表->顺序表长度):
输入你想输入的数字个数n,并输入该n个数字,而后输出其长度....
首步--既然是表,且有顺序结构,便离不开我们之前的学过的结构体,与顺序连接相关 我们能想到的的便只有struct结构体,当然前提是还是要记得结构体的用法,如果记不得的话我们也只能对此作罢。
其次--便是在结构体里面存放元素,怎么存放,存放什么————也就只有数字,还有其关于长度的变量,则struct{int data[1000];int length;}
最后--规划代码并且完成输入输出操作(ps:也许有些小伙伴可能连自定义函数都不知道怎么用了,抑或是struct结构体忘记了的,以及结构体函数都没有搞懂的,务必要在操作这些之前把这几个东西重新看书补齐!)
二.直接代码操作,实行解释:

 #include<iostream>
using namespace std;
typedef struct {  //此处最好在结构体前加个typedef
	int shuju[1000];
	int changdu;
}xxb;
void shuchu(xxb L);//定义一个函数关于输出结构体的函数,如果不使用输出函数将长度进行输出,直接在主函数内部操作即可!括号内的L即结构体内的数据类型,相当于一可移动的标志
int main()
{
	int n, i = 0;
	xxb L;//调用该参数
	L.changdu = 0;//先将该顺序表的长度置零
	cout << "please enter the number of integers:" << "
";
	cin >> n;//输入想要输入数字的个数
	while (i < n) {
		cin >> L.shuju[i];//输入想要输入的数字!参数标志L将会指向结构体内的元素--即输入的数字
		L.changdu++;//输入一次,长度增加一次,将数据全部输入完毕,此时参数标志L便会指向结构体内的元素--即其长度
		i++;
	}
	shuchu(L);
	return 0;
}
//开始写输出的函数
void shuchu(xxb L)
{
	int x = 0;
	while (x < L.changdu && L.shuju[x] != NULL) {//详细描述与上同理,此处步骤将不再继续描述
		cout << L.shuju[x] << " ";//输入的数字输出
		x++;
	}
	cout <<"
"<< L.changdu;//该顺序表的长度输出
}

三.运行效果截图:

四.总结:数据结构教材所有知识都为伪代码--即自定义函数中的代码片段,所以内容较分散,可能对大家的学习不太友好,因此我们需要将所学过的知识回炉重造才能灵活运用!

原文地址:https://www.cnblogs.com/wonzenkei/p/11807763.html