/* 冒泡排序 */
#include<stdio.h>
void BubbleSort (int s[],int n)
{
int i,j,temp=0;
int exchange;
exchange=0;
for(i=0;i<n;i++)
{
for(j=n-1; j > i; j--)
{
if(s[j] < s[j-1]){
temp=s[j];//注意冒泡排序交换的是相邻两个元素
s[j]=s[j-1];
s[j-1]=temp;
exchange=1;
}
}
if(!exchange)
return;
}
}
/* 选择排序 */
void SelectSort(int array[], int n)
{
int i,j,t;
for (i=0;i<n-1;i++)
{
int pos = i;
for (j=i+1;j<n;j++)
{
if (array[j]<array[pos])
{
pos = j;//只是找到位置,并不需要每次都换一下
}
}
//找到位置后才交换,不是交换相邻元素,而是把最小的元素放在s[j]中
t = array[i];
array[i] = array[pos];
array[pos] = t;
}
}
int main()
{
int s[10] = {9,2,8,3,4,1,6,7,5,0};
int n=10;
int i;
SelectSort(s,n);
for(i=0;i<10;i++)
{
printf("%d ",s[i]);
}
getchar();
return 0;
}
分享到:
相关推荐
1.用单向链表实现简单选择排序方法。假设链表中存储的是整数。2.用单向链表实现冒泡排序方法。假设链表中存储的是整数。
冒泡排序和选择排序均用两种方法实现,原始方法和在原始方法上的改进和优化,对应博客地址:http://blog.csdn.net/ns_code/article/details/20065107
用C#实现的冒泡排序和选择排序,是冒泡排序和选择排序的数据结构实现展示,对于感兴趣的人挺有意思的!
数据结构中的冒泡排序和选择排序区分这两种经典排序的各种异同
冒泡排序和选择排序算法的动态演示程序.pdf
本笔记包括了冒泡排序与选择排序的一些基本过程与相同点与不同点的比较,例如,冒泡排序与选择排序的算法讲述,对学c的新手十分友好,本人愚笨,如有看不懂,请见谅。
冒泡排序和选择排序代码详解
Java后端算法-冒泡排序和选择排序对比
MSP430汇编语言实现冒泡排序和选择排序
冒泡排序和选择排序PPT教案学习.pptx
冒泡法排序c语言程序 基于 C 的冒泡排序和选择排序两种基础的算法
分别是用冒泡排序和选择排序方法实现了数组的排序
a) 冒泡排序:相邻的两个元素进行比较,如果前者大于后者,则交换位置,保证每一次的比较都将最大值向后移动。 b) 选择排序:每一次从待排序的元素中选出最小值,存放在数组的起始位置,直到全部待排序的元素排完...
冒泡排序 简单选择排序 c语言基础 排序算法 数组操作 排序算法实验 简单的c语言程序 排序算法输出
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序源码实现,里面有详细讲解,对新手应该有帮助
1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...
插入排序,选择排序,基数排序,冒泡排序的C++实现
交换排序 选择排序 冒泡排序 插入排序