冒泡、交换、选择排序
2011-02-17 23:04
225 查看
#include <stdio.h>
int main()
{
int array[] = {3, 4, 2, 6, 3, 7, 3, 8, 5};
int i, j, temp, num;
num = sizeof(array) / 4;
/* BubbleSort */
for (i = 1; i < num; i++) {
for (j = 0; j < num-i; j++) {
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
printf("\nBubbleSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
/* ExchangeSort */
for (i = 0; i < num-1; i++) {
for (j = i+1; j < num; j++) {
if (array[i] > array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printf("\nExchangeSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
/* SelectSort */
int pos;
for(i = 0; i < num-1; i++) {
temp = array[i];
pos = i;
for (j = i+1; j < num; j++) {
if (temp > array[j]) {
temp = array[j];
pos = j;
}
}
array[pos] = array[i];
array[i] = temp;
}
printf("\nSelectSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
return 0;
}
int main()
{
int array[] = {3, 4, 2, 6, 3, 7, 3, 8, 5};
int i, j, temp, num;
num = sizeof(array) / 4;
/* BubbleSort */
for (i = 1; i < num; i++) {
for (j = 0; j < num-i; j++) {
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
printf("\nBubbleSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
/* ExchangeSort */
for (i = 0; i < num-1; i++) {
for (j = i+1; j < num; j++) {
if (array[i] > array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printf("\nExchangeSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
/* SelectSort */
int pos;
for(i = 0; i < num-1; i++) {
temp = array[i];
pos = i;
for (j = i+1; j < num; j++) {
if (temp > array[j]) {
temp = array[j];
pos = j;
}
}
array[pos] = array[i];
array[i] = temp;
}
printf("\nSelectSort :");
for (i = 0; i < num; i++) {
printf("%d ", array[i]);
}
return 0;
}
相关文章推荐
- 六、内部排序综合(九种)—插入类排序(直接插入、折半插入、希尔排序);交换类排序(冒泡、快速);选择类排序(简单选择、堆排序);二路归并排序;基数排序
- 冒泡排序、交换排序、选择排序、插入排序、快速排序、SHELL排序
- Java学习日记 求最值 排序 选择 冒泡 交换
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 排序——(冒泡,选择,插值)
- 插入,归并,快速,冒泡,shell,选择排序 用c实现
- 经典算法系列四----冒泡与选择排序
- java面试准备之基础排序——冒泡与选择排序
- 选择,交换,插入的基本排序
- java相关总结4--冒泡、选择、快速、插入排序
- 简单排序:冒泡、选择、插入
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- Python实现冒泡,插入,选择排序简单实例
- 面试题_抽象工厂,字符反串,冒泡与选择排序
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 简单排序(冒泡,选择,交换,插入)
- 数据结构 三种简单的排序(插入、选择、冒泡)
- 插入 选择 冒泡 排序
- python选择,冒泡,插叙排序方式
- Java实现选择排序和冒泡排序执行时间的比较