串及串的操作

相关定义

串,即字符串,是由零个或多个字符组成的有限数列。一般记为$S=’a_1a_2\dots a_n’$​​ $n\ge0$​

子串:串中任意个连续的字符组成的子序列。

主串:包含子串的串。

字符在主串中的位置:字符在串中的序号。

子串在主串中的位置:子串的第一个字符在主串中的位置。

位序从1开始,而不是从0开始。

注意区分空串与空格串。

串是一种特殊的线性表,数据元素之间呈线性关系。串的数据对象限定为字符集(如中文字符、英文字符、数字字符、标点字符等)。串的基本操作,如增删改查通常以子串为操作对象。

阅读更多

排序算法一:插入排序

关于排序的一些定义

稳定性

对于待排序表中的元素$R_i$和$R_j$,其对应的关键字相等,即$key_i=key_j$,且$R_i$在$R_j$前面。使用某一排序算法后,$R_i$仍然在$R_j$前面,则这个排序算法是稳定的。

举个🌰:对于数组[4,25,2,6,6,8,34,24],经过排序算法一排序后结果为[2,4,6,6,8,24,25,34],经过排序算法二排序后结果为[2,4,6,6,8,24,25,34]。则说明,排序算法一具有稳定性,而排序算法二不具有稳定性。

稳定性不是衡量排序算法优劣的标准,它是排序算法的一个性质。如果待排序表中的关键字不允许重复,则稳定性就无关紧要。

内部排序与外部排序

内部排序指排序期间元素全部放在内存中的排序,外部排序指排序期间无法全部同时存放在内存中,必须在排序过程中根据要求不断的在内、外存之间移动的排序。

排序算法大致可分为插入排序、交换排序、选择排序、归并排序和基数排序五大类。

阅读更多

C++ 内置类型

面向对象编程本质是设计并扩展自己的数据类型。创建自己的数组类型之前,需要了解并理解C++的内置类型,因为这些类型是创建自己类型的基本组件。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×