算法导论——2.1-2选择排序
2016-12-19 20:07
197 查看
题目:考虑排序存储在数组A中的n个数:首先找出A中的最小元素并将其和A[1]中的元素交换。接着,次大值和A[2]交换。以此类推。
#include<iostream>
using namespace std;
int main()
{
int a[100];
int n, t = 0;
cout << "input the size of array:" << endl;
cin >> n;
for (size_t i = 0; i < n; ++i)
cin >> a[i];
for (size_t i = 0; i < n; ++i)
{
int key = a[i];
int temp = 0;
for (size_t j = i; j < n; ++j)
{
if (a[j] < key)
{
key = a[j];
t = j;
}
}
a[t] = a[i];
a[i] = key;
}
for (size_t i = 0; i < n; ++i)
cout << a[i] << " ";
cout << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a[100];
int n, t = 0;
cout << "input the size of array:" << endl;
cin >> n;
for (size_t i = 0; i < n; ++i)
cin >> a[i];
for (size_t i = 0; i < n; ++i)
{
int key = a[i];
int temp = 0;
for (size_t j = i; j < n; ++j)
{
if (a[j] < key)
{
key = a[j];
t = j;
}
}
a[t] = a[i];
a[i] = key;
}
for (size_t i = 0; i < n; ++i)
cout << a[i] << " ";
cout << endl;
return 0;
}
相关文章推荐
- 【算法导论】笔记一(插入排序、归并排序、选择排序、Peek Finding、加法器、中英文字符串搜索)
- 「算法导论」;选择排序
- 【算法导论学习-003】选择排序(SelectionSort)
- 【算法导论】选择排序
- 算法导论_选择排序
- 【python菜鸟日记】-02算法导论-选择排序
- 【算法导论】 2.2选择排序
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- 算法-选择排序
- 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
- 活动选择问题(算法导论第16章(贪心算法)
- 2011-03-06 算法导论 第8章 线性时间排序
- 算法导论 第七章快速排序与随机快速排序
- 简单选择排序的算法实现
- 算法导论之快速排序
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排
- 读书笔记 算法导论 快速排序 QuickSort 使用最后一个元素作为pivot
- 【C#算法】冒泡排序 选择排序 插入排序 希尔排序--转
- 快速排序与快速选择算法(quick sort and quick select algorithm)