您的位置:首页 > 编程语言 > C语言/C++

c++ ——基本排序(选择排序,交换排序,冒泡排序,插入排序)

2020-03-05 14:25 387 查看
void selection(int *a, int length)//选择排序
{
for (int i = 0; i < length - 1; i++)
{
int pass = i;
for (int j = i + 1; j < length; j++)
if (*(a + pass) < *(a + j))
pass = j;
if (pass != i)
{
int temp = *(a + i);
*(a + i) = *(a + pass);
*(a + pass) = temp;
}
}
}
void exchange(int *a, int length)//交换排序
{
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; j++)
if (*(a + i) < *(a + j))
{
int temp = *(a + i);
*(a + i) = *(a + j);
*(a + j) = temp;
}
}
}
void bobble(int *a, int length)//冒泡排序
{

for (int i = 1; i < length; i++)
{
bool exchange = 0;//哨兵
for (int j = 0; j < length - i; j++)
if (*(a + j) < *(a + j + 1))
{
int temp = *(a + j);
*(a + j) = *(a + j + 1);
*(a + j + 1) = temp;
exchange = 1;
}
if (exchange == 0)
break;
}
}
void insert(int *a, int length)//插入排序
{
for (int i = 1; i < length; i++)
{
int temp = *(a + i);
for (int j = i - 1; j >= 0 && *(a + j) < temp; j--)
{
*(a + j + 1) = *(a + j);
*(a + j ) = temp;
}
}
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
神仙来了呀 发布了5 篇原创文章 · 获赞 5 · 访问量 185 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐