云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构知识点总结

数据结构知识点总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 10:58:33

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]; }

搜索更多关于: 数据结构知识点总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

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 ≤

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com