插入排序:

就像摸牌,摸一张插进去,找一个哨兵。从第二个開始,和前一个比較。小的话前移一位。

#include <iostream>
#include<stdlib.h>using namespace std;
#define N 4   //不能加分号结束class sort
{
public:void insertSort(int a[],int n);sort(){cout<<"Start"<<endl;}sort(const sort&s);
private:};
void sort::insertSort(int a[],int n)
{int i=1,j=0,key;//设两个变量值的目的是内外变化。假设仅仅有一个内外的变化会产生影响while(i<n)    //外循环{key=a[i];//把第几个拿出来。和前边的对照;j=i-1;   //前边的那个值while(key<a[j]&&j>=0)  //内循环{a[j+1]=a[j];   //把当前值改成前一个值j--;          //位置前移一位}a[j+1]=key;      //比較成功之后。把哨兵插到当前位置,注意用的是ji++;   //转到下次循环}cout<<"-----------\n ";for(int i=0;i<n;i++){cout<<a[i];}
}
sort::sort(const sort&s)
{cout<<"news\n";
}
int main()
{sort s;//sort b=s;int a[N];cout<<"lease input arr.";for(int i=0;i<N;i++){cin>>a[i];}cout<<"shuchu wei";for(int i=0;i<N;i++){cout<<a[i]<<endl;}s.insertSort(a,N);return 0;
};
</pre><p><span style="font-family:SimHei; font-size:24px">冒泡排序:</span></p><p><span style="font-family:SimHei"></span></p><pre name="code" class="html"><span style="font-size:14px;">#include <iostream>
#include<stdlib.h>using namespace std;
#define N 4   //不能加分号结束class sort
{
public:void insertSort(int a[],int n);sort(){cout<<"Start"<<endl;}sort(const sort&s);void bubblesort(int a[],int n);
private:int c;
};
void sort::insertSort(int a[],int n)
{int i=1,j=0,key;//设两个变量值的目的是内外变化,假设仅仅有一个内外的变化会产生影响while(i<n)    //外循环{key=a[i];//把第几个拿出来。和前边的对照。j=i-1;   //前边的那个值while(key<a[j]&&j>=0)  //内循环{a[j+1]=a[j];   //把当前值改成前一个值j--;          //位置前移一位}a[j+1]=key;      //比較成功之后,把哨兵插到当前位置,注意用的是ji++;   //转到下次循环}cout<<"-----insertsort------\n ";for(int i=0;i<n;i++){cout<<a[i];}cout<<endl;
}
void sort::bubblesort(int a[],int n)
{int i=0,j=n;for(;i<n-1;i++)//外层循环{for(;j>i;j--)//内层循环,从最后一个開始向上冒泡。冒泡次数逐渐减一{if(a[j]<a[j-1])//倒数開始,两个数进行比較,下边是交换过程{int temp=a[j-1];a[j-1]=a[j];a[j]=temp;}}}cout<<"-----bubblesort------\n ";for(int i=0;i<n;i++){cout<<a[i];}cout<<endl;
}
sort::sort(const sort&s)
{cout<<"news\n";
}
int main()
{sort s;//sort b=s;int a[N];cout<<"lease input arr.";for(int i=0;i<N;i++){cin>>a[i];}cout<<"shuchu wei";for(int i=0;i<N;i++){cout<<a[i];}cout<<endl;s.insertSort(a,N);s.bubblesort(a,N);return 0;
};</span><span style="font-size:24px;">
</span>

其它算法待续....

转载于:https://www.cnblogs.com/yutingliuyl/p/7267526.html

排序算法 C++代码实现相关推荐

  1. c语言选择排序法程序设计,C语言基础之选择排序算法和代码

    在利用C语言进行编写程序的过程中,我们会常常通过算法及其代码来进行相关程序的编写工作.今天课课家笔者先给大家介绍C语言算法中的选择排序算法以及代码.那么到底什么是选择排序算法呢?下面由笔者慢慢道来. ...

  2. Java几种常见排序算法与代码实现

    前言: 排序算法也算是每年校招.春招.社招都会问到的问题,虽然每次复习了就忘,但是也可以隔一段时间又拿出来看看. 其中,排序方式指,内部还是外部排序.只需要内部内存就可以的称为内部排序,数据量太大需要 ...

  3. 冒泡排序c++代码_八大排序算法(解释+代码+结果+算法优化)

    >>>欢迎点赞,收藏,转发! 评论区获取源代码与更多更全干货!<<< 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,不需要访问外存便能完成 ...

  4. Java常用的八种排序算法与代码实现

    在Java的时候,对于排序的应用需要熟练的掌握,这样才能够确保Java学习时候能够有扎实的基础能力.那Java有哪些排序算法呢?本文小千就来详细说说Java经典的8种排序算法. 经典的排序算法有八种, ...

  5. 程序员面试必备:动图演示十大经典排序算法及代码实现

    0.算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序. 非比较类排序: ...

  6. 数据结构与算法(三) 排序算法(代码示例)

    数据结构与算法三 排序算法 1. 选择排序 2. 插入排序 3. 冒泡排序 4. 归并排序 5. 快速排序 6. 希尔排序 7. 堆排序 总结 1. 选择排序 选择排序的基本原理: 对于未排序的一组记 ...

  7. 超级无敌各种排序算法 一个代码解决<可以做后序模板>

    本次排序算法有: 一.冒泡排序 时间复杂度(O(n²)) 二.选择排序 时间复杂度(O(n²)) 三.插入排序 时间复杂度(O(n²)) 四.希尔排序 时间复杂度(O(n²)) 五.快速排序 时间复杂 ...

  8. C言语选择排序算法及代码

    选择排序是排序算法的一种,这里以从小到大排序为例停止解说. 根本思惟及举例阐明 选择排序(从小到大)的根本思惟是,起首,选出最小的数,放在第一个地位:然后,选出第二小的数,放在第二个地位:以此类推,直 ...

  9. java排序算法代码_Java实现八种排序算法(代码详细解释)

    package八大排序算法;importjava.util.Arrays;importorg.junit.Test;/*** 1.插入排序 直接插入排序.希尔排序 折半插入排序 * 2.交换排序 冒泡 ...

  10. PHP 四种基本排序算法的代码实现(2)

    2019独角兽企业重金招聘Python工程师标准>>> 许多人都说算法是程序的核心,算法的好坏决定了程序的质量.作为一个初级phper,虽然很少接触到算法方面的东西.但是对于基本的排 ...

最新文章

  1. Caused by: org.xml.sax.SAXParseException: 不允许有匹配 [xX][mM][lL] 的处理指令目标。
  2. 2019年末,10 位院士对 AI 的深度把脉(上)
  3. java怎么让进程停止_JAVA:如何在进程停止时调用一个方法(甚至有可能吗?)
  4. Java对象序列化的本机C / C ++类似性能
  5. 一个关于python装饰器参数的问题
  6. 将字符转换成数字(atoi),将数字转换成字符(itoa)
  7. 图论算法 —— 图论概述
  8. 【docker】安装教程
  9. js实现视频时间段拖拽编辑
  10. pd 生成mysql数据库sql时加上备注
  11. 涂抹oracle教你,《涂抹Oracle-三思笔记之一步一步学Oracle》出炉手记
  12. 【真正离线安装】Adobe Flash Player 32.0 插件离线安装包下载(无需联网安装)
  13. kettle读txt文件并处理
  14. navicat导数据速度_快速解决mysql导数据时,格式不对、导入慢、丢数据的问题
  15. git合并其他分支的代码产生冲突处理过程
  16. 腾讯微博qq说说备份导出工具_软件推荐Day51 其他工具类 腾讯微博备份
  17. Hadoop之block副本放置策略 Rack机架感知源码
  18. 动画设计基础(三点一节)-3d max2014 裙摆(飘带插件)
  19. 【AIS学习】01 AIS系统的介绍
  20. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...

热门文章

  1. Orchard模块开发全接触3:分类的实现及内容呈现(Display)
  2. 商城开发(1)-前期准备
  3. 1041. 考试座位号(15)
  4. 苹果向App Analytics添加新的指标和特性
  5. PXE网络无人值守装机
  6. JavaScript对象模型-执行模型
  7. 蚂蚁金服核心技术:百亿特征实时推荐算法揭秘
  8. Kubernetes故障问题
  9. AAA及Radius
  10. modalDialog注意点