第一范文网 - 专业文章范例文档资料分享平台

数据结构知识点总结

来源:用户分享 时间:2025/6/3 10:15:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

void SelectSort(int r[], int n) {

for ( i ? 1; i ≤ n-1; i++ )

for ( j ? i+1; j ≤ n; j++ ) if ( r[j] < r[k] )

r[i] ?? r[k];

}

简单选择排序优化后的算法。

void SelectSort(int r[], int n) {

for ( i ? 1; i ≤ n-1; i++ ) {

k ? i;

for ( j ? i+1; j ≤ n; j++ ) if ( r[j] < r[k] ) k ? j; if ( k ≠ i )

r[i] ?? r[k];

} }

下面是冒泡排序算法,效率不高

void BubbleSort (int r[], int n) {

for ( i = 1; i < n; i++ )

for (j = 1; j ≤ n-1; j++ ) if ( r[j] > r[j+1] )

r[j] ?? r[j+1]; }

冒泡排序优化后的算法。

void BubbleSort (int r[], int n) {

exchange ? TRUE; k ? n – 1;

while ( exchange ) {

exchange ? FALSE;

for (i = 1; i ≤ k; i++ ) if ( r[i] > r[i+1] ) {

r[i] ?? r[i+1]; exchange ? TRUE; } k ? k – 1;

} }

设有两个有序关键字表S1,S2。S1和S2存储在数组r[low,high]中,Sl放在r

[low,mid]中,S2放在r[mid+1,high]中,如下图所示。现在要把S1,S2归并,请写出归并排序算法。算法头部约定为:void Merge(r[],

low, mid, high) low mid mid+1

high

算法如下:

void Merge(r[], low, m, high) {

k ? 1; i ? low; j ? m + 1;

while ( i ≤ m && j ≤ high ) {

if ( r[i].key ≤ r[j].key ) {

r’[k] ? r[i]; i ? i + 1; } else {

r’[k] ? r[j]; j ? j + 1; }

k ? k + 1; }

while ( j ≤ h ) {

r’[k] ? r[j]; j ? j + 1; k ? k + 1; }

while ( i ≤ m ) {

r’[k] ? r[i]; i ? i + 1; k ? k + 1; }

for (p=1,i=low; i≤high; p++,i++) r[i] ? r’[p]; }

搜索更多关于: 数据结构知识点总结 的文档
数据结构知识点总结.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3u1jt2q7vn0fluh9boav3qhtz4wh9l00tvr_12.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top