摘要:
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中;第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行n-1趟扫描后就完成了整个排序过程 1 #include 2 #include 3... 阅读全文
摘要:
快速排序是对冒泡排序的改进,它的基本思想是通过一趟排序将数据分成两部分,一部分中的数据都比另一部分中的数据小,再对这两部分中的数据再排序,直到整个序列有序,如下图所示。快排的递归实现: 1 #include 2 #include 3 4 int n; 5 6 /* 7 * 分割使枢轴记录的... 阅读全文
摘要:
冒泡排序的主要过程:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。比较一趟之后,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 1 #i... 阅读全文
摘要:
通常我们查找数据都是通过一个一个地比较来进行,有一种方法,要寻找的数据与其在数据集中的位置存在一种对应的关系,通过这种关系就能找到数据的位置。这个对应关系成为散列函数(哈希函数),因此建立的表为散列表(哈希表)。散列查找是关键字与在数据集中的位置一一对应,通过这种对应关系能快速地找到数据,散列查找中... 阅读全文
摘要:
二分查找是只适用于有序的序列,每次都缩小一半查找范围的查找方法。二分查找也叫做折半查找。步骤:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置将表分成前后两个子表。重复以上步骤。 1 #include 2 #include 3 4... 阅读全文