基础排序算法(冒泡排序、选择排序、插入排序)
来源:互联网 发布:创力cms 编辑:程序博客网 时间:2024/05/16 15:46
冒泡排序、选择排序、插入排序
#include <stdio.h>
#include <string.h>
int strsrc[10] = {10, 1, 2, 5, 3, 9, 11, 12, 20, 9};
int str[10];
void load_str(void)
{
int len = sizeof(str);
memcpy(str, strsrc, len);
}
void swap(int* x, int* y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void exch(int* x, int* y)
{
if(*x > *y) swap(x, y);
}
void sort_print(void)
{
int i;
int len = sizeof(str) / 4;
for(i = 0;i <len; i++) printf("%d ", str[i]);
printf("/n");
}
void sort_bubble(void)
{
int i, j, l;
l = sizeof(str) / 4;
for(i = 0; i < l; i++)
{
for(j = l - 1; j > i; j--)
{
exch(&str[i], &str[j]);
}
}
}
void sort_select(void)
{
int i, j, l;
int min;
int index = 0;
l = sizeof(str) / 4;
for(i = 0; i < l; i++)
{
min = str[i];
for(j = i + 1; j < l; j++)
{
if(str[j] < min)
{
min = str[j];
index = j;
}
}
swap(&str[i], &str[index]);
}
}
void sort_insert(void)
{
int i, j, l;
l = sizeof(str) / 4;
for(i = 1; i < l; i++)
{
for(j = 0; j < i; j++)
{
if(str[i] < str[j])
{
swap(&str[i], &str[j]);
}
}
}
}
int main()
{
printf("------------------------------sort_bubble------------------------------/n");
load_str();
sort_print();
sort_bubble();
sort_print();
printf("------------------------------sort_select------------------------------/n");
load_str();
sort_print();
sort_select();
sort_print();
printf("------------------------------sort_insert------------------------------/n");
load_str();
sort_print();
sort_select();
sort_print();
return 0;
}
- 基础排序算法(冒泡排序、选择排序、插入排序)
- 排序算法---基础算法(冒泡排序,快速排序,选择排序,直接插入排序,桶排序)
- 基础排序总结(冒泡排序、选择排序、插入排序)
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法(冒泡排序、选择排序、插入排序)
- 基本排序算法(冒泡排序,选择排序,插入排序)
- 排序算法一(冒泡排序、选择排序、插入排序)
- 【算法】插入排序/冒泡排序/选择排序
- 《算法》选择排序、插入排序、冒泡排序
- Java(8):基础算法(2)--冒泡排序算法 + 选择排序算法 + 插入排序算法
- 四基础排序算法:插入排序、选择排序、冒泡排序、快速排序
- Java排序算法(冒泡排序、选择排序、插入排序、反数组排序、快速排序)例子
- Javascript排序算法(冒泡排序,选择排序,插入排序,归并排序,快速排序)
- 几种排序算法(冒泡排序算法,选择排序算法,快速排序算法,插入排序)
- 基础排序:冒泡排序、选择排序、插入排序
- 简单排序算法:冒泡排序,选择排序,插入排序
- 排序算法1—插入排序、选择排序、冒泡排序
- 简单排序算法(冒泡排序、选择排序、插入排序)
- 终于解放了!
- C++ Primer 读书笔记 – 第四章
- 与指针相关的常见错误
- Ubuntu修改文档权限的方法
- 书写是为了更好的思考
- 基础排序算法(冒泡排序、选择排序、插入排序)
- PreparedStatement和Statement区别
- 学习使用apache的cgi问题
- [linux问题及解决] jdk版本问题-非最新安装的版本
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- 斐波纳契数列
- CComBSTR,
- CComBSTR,
- CComBSTR,