using System;
namespace 排序算法
{
class Class1
{
static void Main(string[] args)
{
int[] arr = new int[]{49,38,65,97,76,13,27,49};
int i;
System.Console.WriteLine("排序前");
for(i=0; i<arr.Length; i++)
System.Console.WriteLine(arr[i]);
simpleSelectionSorting(arr, arr.Length);
System.Console.WriteLine("排序后");
for(i=0; i<arr.Length; i++)
System.Console.WriteLine(arr[i]);
}
/** 起泡排序
* 将长度为 len 的记录表的记录按非递减有序排列
*/
static void bubbleSorting(int[] arr, int len)
{
int i, j;
int temp;
for(i=0; i<len-1; i++) //控制循环的趟数
{
for(j=0; j<len-i-1;j++) //控制某趟数所对应的次数
{
if(arr[j]>arr[j+1]) //逆序则交换
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
/** 简单选择排序
* 将长度为 len 的记录表的记录按非递减有序排列
*/
static void simpleSelectionSorting(int[] arr, int len)
{
int i, j, k;
int temp;
for(i=0; i<len-1; i++) //控制循环的趟数
{
for(j=i,k=i; j<len;j++) //从len-i+1条记录中选择最小的记录
{
if(arr[k]>arr[j])
k = j; //记录较小记录的下标
}
if(k!=i) //如果len-i+1条记录的最小记录和第i条记录不重合
{
temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
}
}
}
分享到:
相关推荐
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
用双向起泡排序法对带头结点的双向链表按升序进行排序
比较快速排序与起泡排序的效率。
利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并且 (1) 统计每一种排序上机所花费的时间。 (2) 统计在完全正序,完全逆序情况下记录的比较...
1) 对以下6种常用的内部排序算法进行比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。 2) 待排序记录的文件个数不小于1000( 其数据用伪随机数产生),至少用5组不同的输入数据作比较;比较...
课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的
任务:用程序实现插入法排序、起泡法改进算法排序; 利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。 输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。
用C++,模板写的 7中排序. 快速排序, 归并排序,插入排序,选择排序,起泡排序,堆排序,希尔排序
起泡法排序的排序过程如下,首先将第一个记录与第二个记录进行比较,若为逆序(R[1]>R[2]),则将两个记录交换,然后比较第二个记录和第三个记录。依次类推,直到第n- 1个记录完成比较为止。上述过程称为第一次起泡...
对起泡法的排序,针对大学教材中的基本起泡法的排序,数字总数设为20
各种排序算法效率分析比较及源...起泡排序,快速排序,归并排序;简单选择排序,树形选择排序和堆排序。 通过输入不同的数据量和数据大小正序,逆序和乱序情况比较各种排序算法的效率。 其中树形选择排序算法有点错误。
六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。包含实验报告和源代码设计。
(1) 完成5种常用内部排序算法的演示,5种排序算法为:快速排序,直接插入排序,选择排序,堆排序,希尔排序; (2) 待排序元素为整数,排序序列存储在数据文件中,要求排序元素不少于30个; (3) 演示程序开始,...
数据结构 起泡法排序
各种基本排序方法(直接插入、希尔、直接选择、冒泡、快速、堆、二路归并)的大致原理和过程、复杂性和稳定性、相应算法的程序段;
他们分别是:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序;2. 待排序表元素的关键字为整型。使用正序、逆序和不同程度的打乱获得不同的数据做测试比较。比较的指标为关键字参加比较的次数和...
数组,起泡法,选择法,从小到大排序C++数组,起泡法,选择法,从小到大排序C++数组,起泡法,选择法,从小到大排序C++数组,起泡法,选择法,从小到大排序C++数组,起泡法,选择法,从小到大排序
Visual studio 2019 数据结构与算法 内排序实验代码.zip (1)完成直接插入排序算法 (2)完成起泡(冒泡)排序算法
1、本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。 2、待排序表的表的元素的关键字为整数,表长不小于100;其中的数据要用伪随机数产生...
1) 对以下 6 种常用的内部排序算法进行比较:起泡排序,直接插入排序,简单选择排 序,快速排序,希尔排序,堆排序。 2) 待排序记录的文件个数不小于 1000( 其数据用伪随机数产生 ),至少用5 组不同的 输入数据作...