《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort

第三章 Sort I

ALDS1_2_C Stable Sort

这道题目,就是为了说明 冒泡排序是稳定排序的,而选择排序则不是,没有什么新东西。

#include <iostream>
using namespace std;struct data{char a;char b;
}; int BubbleSort(struct data *a,int n){int count=0;int flag=1;while(flag){flag=0;for(int i=n-1;i>0;i--){if(a[i].b<a[i-1].b){struct data temp=a[i];a[i]=a[i-1];a[i-1]=temp;flag=1;count++;}}}
}int SelectionSort(struct data *a,int n){int count=0;for(int i=0;i<n-1;i++){int minj=i;for(int j=i+1;j<n;j++){if(a[minj].b>a[j].b){minj=j;}}if(minj!=i){struct data temp = a[minj];a[minj]=a[i];a[i]=temp;count++;}}
}int main() {struct data d1[40];struct data d2[40];int n;cin>>n;for(int i=0;i<n;i++){cin>>d1[i].a>>d1[i].b;d2[i]=d1[i];}BubbleSort(d1,n);SelectionSort(d2,n);int flag=1;for(int i=0;i<n;i++){if(d1[i].a!=d2[i].a){flag=0;break;}}for(int i=0;i<n;i++){if(i>0) cout<<" ";cout<<d1[i].a<<d1[i].b;}cout<<endl;cout<<"Stable"<<endl;for(int i=0;i<n;i++){if(i>0) cout<<" ";cout<<d2[i].a<<d2[i].b;}cout<<endl;if(!flag){cout<<"Not stable"<<endl;}else{cout<<"Stable"<<endl;}return 0;
}

《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort相关推荐

  1. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  2. 挑战程序设计竞赛(第2版)》

    <挑战程序设计竞赛(第2版)> 基本信息 作者: (日)秋叶拓哉 岩田阳一 北川宜稔 译者: 巫泽俊 庄俊元 李津羽 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787 ...

  3. 《挑战程序设计竞赛》推荐及算法相关书籍吐槽

    前几天,秋叶拓哉(iwi).岩田阳一(wata)和北川宜稔(kita_masa)所著,我(watashi).庄俊元(navi)和李津羽(itsuhane)翻译的<挑战程序设计竞赛>,终于通 ...

  4. POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 1150 The Last Non-zero Digit超大组合数:求超大组合数P(n, m)的最后一个非零位.4.1更加复杂 ...

  5. POJ 3735 Training little cats​ 题解 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3735 Training little cats调教猫咪:有n只饥渴的猫咪,现有一组羞耻Play,由k个操作组成,全部选自: ...

  6. POJ 3608 Bridge Across Islands 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3608 Bridge Across Islands跨岛大桥:在两个凸包小岛之间造桥,求最小距离?3.6与平面和空间打交道的计 ...

  7. AOJ 1312 Where's Wally 题解《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    本文由码农场 同步,最新版本请查看原文:http://www.hankcs.com/program/algorithm/aoj-131 ...

  8. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)

    白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...

  9. 挑战程序设计竞赛——详解DFS及BFS

    挑战程序设计竞赛--详解DFS及BFS 一.学会要用到的stl函数,Stack.Quene.Pair 1.Stack(DFS隐式的用到,并与Queue对比记忆) 头文件==#include== sta ...

最新文章

  1. Ubuntu tensorflow自定义GPU版本op节点
  2. EIGRP非等价负载均衡
  3. 【计算机网络复习 物理层】2.1.3 码元、波特、速率、带宽
  4. Scala 面向对象编程
  5. Python字符串怎样实现contains效果
  6. 使用这些思路与技巧,我读懂了多个优秀的开源项目
  7. 查看exe代码_【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告...
  8. 为什么:要嫁就嫁程序猿
  9. 如何避免循环中丑陋的break和continue
  10. 图解谷歌地球使用入门、谷歌地球COM API 开发入门、谷歌地球使用的初步协议分析
  11. 《重学 Java 设计模式》PDF 出炉了 - 小傅哥,肝了50天写出18万字271页的实战编程资料
  12. 保证线程安全的三种方式
  13. 软件外包平台列表(转载-知乎网)
  14. 投入产出分析方法简介以及投入产出表
  15. 京东云PostgreSQL在GIS场景的应用分享
  16. 会议记录转文字 - 语音识别
  17. (附源码)springboot电影院售票与管理系统 毕业设计011449
  18. 国家一级建造师——工程经济——第一章——第二节
  19. 绕过CDN查询真实IP
  20. 升级云服务器的python3,导致宝塔面板打不开

热门文章

  1. 【sdx62】PBL阶段修改GPIO操作
  2. dell G7 7588安装ubuntu双系统
  3. 人工智能领域专业术语合集
  4. Android 查询局域网内所有ip和mac地址
  5. HTML5七夕情人节表白网页制作【浪漫森林落叶钢琴紫色3D相册】HTML+CSS+JavaScript
  6. (原创)android6.0系统 PowerManager深入分析
  7. java用date加一个小时_在Java中添加n个小时到一个date?
  8. 初一学生上计算机教学内容,初一计算机教学工作计划.docx
  9. 蒜头君的藏书(映射)
  10. rsync与scp对比