常用的各种排序算法(C语言实现)

#include #include const int SIZE = 100;const int MAX = 1000;using namespace std;//交换数据void Swap(int &a, int &b){ int temp = a; a = b; b = temp;}//冒泡排序void BubbleSort(int *arr, int size){ int i, j; for(i=0;ii;j--) if(arr[j] arr[j]) min = j; //将a[i]与a[min]的数据交换 Swap(arr[i], arr[min]); }}//插入排序void InsertSort(int *arr, int size){ int fOut, loc, temp; for(fOut=1;fOut0 && arr[loc-1]>temp); arr[loc] = temp; }}//快速排序int Partition(int *arr, int first, int last){ int i, small, x; //为了减少最差情况的出现频率而作的一种优化 swap(arr[first], arr[ (first+last)/2 ]); x = arr[first]; small = first; for(i=first+1;i=0;i--) Heapify(arr, i, size-1);}void HeapSort(int *arr, int size){ int i; //lastOfOrder BuildHeap(arr, size); for(i=size-1;i>=0;i--) { swap(arr[0], arr[i]); Heapify(arr, 0, i-1); }}//希尔排序void ShellSort(int *arr, int size){ int i, j, k, temp; //i为增量 for(i=size/2;i>0;i/=2) { for(j=i;j=0 && temp

#include #include const int SIZE = 100;const int MAX = 1000;using namespace std;//交换数据void Swap(int &a, int &b){ int temp = a; a = b; b = temp;}//冒泡排序void BubbleSort(int *arr, int size){ int i, j; for(i=0;ii;j--) if(arr[j] arr[j]) min = j; //将a[i]与a[min]的数据交换 Swap(arr[i], arr[min]); }}//插入排序void InsertSort(int *arr, int size){ int fOut, loc, temp; for(fOut=1;fOut0 && arr[loc-1]>temp); arr[loc] = temp; }}//快速排序int Partition(int *arr, int first, int last){ int i, small, x; //为了减少最差情况的出现频率而作的一种优化 swap(arr[first], arr[ (first+last)/2 ]); x = arr[first]; small = first; for(i=first+1;i=0;i--) Heapify(arr, i, size-1);}void HeapSort(int *arr, int size){ int i; //lastOfOrder BuildHeap(arr, size); for(i=size-1;i>=0;i--) { swap(arr[0], arr[i]); Heapify(arr, 0, i-1); }}//希尔排序void ShellSort(int *arr, int size){ int i, j, k, temp; //i为增量 for(i=size/2;i>0;i/=2) { for(j=i;j=0 && temp


相关文章

  • 计算思维案例及平时成绩讨论题
  • 1.5本章计算思维的典型案例 案例1: 计算作为人类文明的开端,从最远古的手指计数到中国古代的算盘计算到近代西方的纳皮尔算筹及帕斯卡机械式计算机,至当前的电子计算机的高速度计算,不管是计算方法还是计算工具都有了变革性的创新,计算也作为一种思 ...查看


  • 信息技术基础知识点
  • 信息技术基础知识点 第一章 信息与信息技术 一.信息及信息特征 信息是指数据.信号.消息中包含的意义. 1.信息的载体和形态 信息本身并不是实体,必须通过载体才能体现.语言.文字.声音.图像和视频等可以承载信息,是信息的载体,也是信息的常见 ...查看


  • C程序设计毕业论文
  • 摘 要 <C 程序设计>作为各大院校必修课程之一.因为C 语言是计算机程序语言的入门语言.课程中一些难以理解的程序算法,传统的书本加教师讲授的学习模式往往花费了大量的时间,而学生却难以完全理解和接受.而利用多媒体CAI 课件,通 ...查看


  • 数据结构A教学大纲
  • 数据结构A 教学大纲 (Data Structures A) 课程编号: 06311360 学 分: 5.0 学 时: 75 (其中:讲课学时:60 实验学时:0 上机学时:15) 先修课程:离散数学.程序设计基础.面向对象程序设计 适用专 ...查看


  • 南京航空航天大学1996
  • 南京航空航天96考研题 说明:算法可以用任一种高级语言编写. 六.是非题(对者打对号,错者打错号)(10分) 1. 循环队列通常用指针来实现队列的头,尾相接. 2. 广义表的取表尾运算,其结果通常是个表,但有时也可是单元素值. 3. 完全二 ...查看


  • 软件基础答案电子版
  • 一.填空 1. 软件从传统上可以分为两大类,一类为系统软件,如操作系统:另一类为应用软件. 2. 算法是由若干计算机指令组成的有穷序列,其有穷性.确定性和可行性和输入输出特性 是算法的五大基本特征. 3. 面向对象程序设计以类作为构造程序的 ...查看


  • 信息技术信息技术(选修1)算法与程序设计
  • 1.XX学科提供的选修课各模块内容简介(各学科选修一提供给学生选修的课程不能低于广东省教育厅所提供科目模块的80%): 信息技术 信息技术(选修1) 算法与程序设计 本模块以问题解决和程序世界为主线,力图揭开计算机解决问题的什么面纱,向你展 ...查看


  • 高中信息技术必修知识点汇总
  • 主题1 信息的获取 高中信息技术必修知识点汇总 一.信息及其特征 1.信息的基本概念 "信息"一词通常是指数据.消息所包含的内容和意义.信息的表现形式有多种,如:图片.声音.动作.表情.文字等.当今世界的三大要素:物质. ...查看


  • 二级公共基础知识习题
  • 二级考试公共基础知识习题(1) 本教材由睿创教育公司组织编制,适用于强化班同学使用.为培训班内部教材. (1) 下面叙述正确的是______.(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句 ...查看


热门内容