数据结构——从概念到C++实现习题版

目录

第二章 线性表

顺序表的递增排序

删除顺序表特定的全部元素值

就地逆置线性表

判断链表是否递增有序


第二章 线性表

顺序表的递增排序

题目:已知顺序表L中的元素递增有序排列,设计算法将元素x插入到表L中并保持表L的递增有序

我的答案:

1.分析:创建数组——冒泡排序,从小到大——放入顺序表——完成顺序表的基本操作构建——顺序表的排序

2.知识点: 

   冒泡排序:(29条消息) 冒泡排序法(C++实现)_孤岛violet-CSDN博客_冒泡排序c++代码

   线性表的排序:(29条消息) C++ 顺序表的基本操作(使用模版类)_ChanJose的博客-CSDN博客

3.我的实现:

#include<iostream>
using namespace std;
const int MaxSize = 100;
template<typename DataType>
class SeqList
{
public:
	SeqList();
	SeqList(DataType a[], int n);
	void Insert(int i,DataType x);
	int Length();
	void Print();
	void Sort();
private:
	DataType data[MaxSize];
	int length;
};
template<typename DataType>
SeqList<DataType>::SeqList()
{
	length = 0;
}
template<typename DataType>
SeqList<DataType>::SeqList(DataType a[], int n)
{
	if (n > MaxSize)
		throw"长度非法";
	for (int i = 0; i < n; i++)
		data[i] = a[i];
	length = n;
}
template<typename DataType>
int SeqList<DataType>::Length()
{
	return length;
}
template<typename DataType>
void SeqList<DataType>::Insert(int i,DataType x)
{
	if (length >= MaxSize)
		throw "上溢";
	if (i<1 || i>length + 1)
		throw "插入位置有误";
	
	for (int j = length; j >= i; j--)
		data[j] = data[j - 1];
	data[i - 1]=x;
	length++;
}
template<typename DataType>
void SeqList<DataType>::Print()
{
	for (int i = 0; i < length; i++)
		cout << data[i]<<"\t";
}
template<typename DataType>
void SeqList<DataType>::Sort()
{
	for (int i = 0; i < length - 1; i++)
	{
		for (int j = 0; j < length - 1 - i; j++)
		{
			if (data[j] > data[j + 1])
			{
				DataType tmp = data[j];
				data[j] = data[j + 1];
				data[j + 1] = tmp;
			}
		}
	}
}
int main()
{
	int a[7] = {22,4,54,1,2,45,9};
	for (int i = 0; 
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构是计算机科学中的一门重要课程,它研究的是如何组织和存储数据以便有效地访问和操作。概念上,数据结构包括了数组、链表、栈、队列、树、图等等。 C语言是一种通用的、高级的编程语言,广泛应用于系统开发、嵌入式设备、游戏开发等领域。在实现数据结构时,C语言提供了丰富的数据类型和语法特性,使得实现数据结构变得相对简单。 《数据结构概念到C语言实现第三》是一本对数据结构进行深入讲解,并通过使用C语言进行实现的书籍。它通过分析各种数据结构的特性和应用场景,讲解了它们的基本概念和操作方法,并给出了具体的C语言实现代码。 在这本书中,作者首先简要介绍了数据结构和算法的基本概念和原则,为读者打下理论基础。然后,逐一介绍了数组、链表、栈、队列、树等常见数据结构实现方式,并对它们的性能进行了分析和比较,帮助读者选择最适合自己需求的数据结构。 此外,该书还对常用的算法进行了详细介绍,如排序算法、查找算法等,这些算法在实际开发中非常重要。通过学习这些算法,读者可以了解它们的原理和实现方式,并能够灵活运用在自己的项目中。 总之,《数据结构概念到C语言实现第三》是一本全面介绍数据结构和算法的书籍,通过C语言实现代码的方式,帮助读者理解和掌握数据结构的基本概念和操作方法,提高编程能力。无论是计算机科学的学生,还是从事软件开发的工程师,都可以从中获得实际的收益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值