编程面试:排序(一)
来源:互联网 发布:淘宝售前客服培训ppt 编辑:程序博客网 时间:2024/06/15 07:39
/**
* 交换数组里n和0的位置
* array: 存储[0-n)的数组
* len: 数组长度
* n: 数组里要和0交换的数
class Solution {
public:
/**
* 调用方法swap_with_zero来对array进行排序
*/
void sort(int* array, int len) {
int i = 0, min = len;
int j, k;
//while(array[i] != 0){
// i++;
// }
//cout<<array[i];
swap_with_zero(array, len, array[0]);
// cout<<array[i];
for (k = 1; k<len; k++) {
for (j = k; j<len; j++) {
if (array[j]<min)
min = array[j];
}
//cout<<min;
swap_with_zero(array, len, array[k]);
swap_with_zero(array, len, min);
swap_with_zero(array, len, array[0]);
min = len;
}
}
};
* 交换数组里n和0的位置
* array: 存储[0-n)的数组
* len: 数组长度
* n: 数组里要和0交换的数
*/
解题思路:
1.交换:将0与array[0]交换,使0在array[0]的位置,
2,遍历数组找到最小值,
3.利用三次交换将第i小的数放在第一个个位置。
class Solution {
public:
/**
* 调用方法swap_with_zero来对array进行排序
*/
void sort(int* array, int len) {
int i = 0, min = len;
int j, k;
//while(array[i] != 0){
// i++;
// }
//cout<<array[i];
swap_with_zero(array, len, array[0]);
// cout<<array[i];
for (k = 1; k<len; k++) {
for (j = k; j<len; j++) {
if (array[j]<min)
min = array[j];
}
//cout<<min;
swap_with_zero(array, len, array[k]);
swap_with_zero(array, len, min);
swap_with_zero(array, len, array[0]);
min = len;
}
}
};
0 0
- 编程面试:排序(一)
- 面试编程题(一)
- 面试常见题目之海量数据排序(编程珠玑总结一)
- 面试常见题目之海量数据排序(编程珠玑总结一)
- 面试复习一:排序
- 面试编程题:(一)数字规律
- 《编程之美——微软技术面试心得》一摞烧饼的排序 (不会做,看不懂)
- 《编程之美——微软技术面试心得》一摞烙饼的排序初体验
- mapreduce编程(一)-二次排序
- mapreduce编程(一)-二次排序
- mapreduce编程(一)-二次排序
- mapreduce编程(一)-二次排序
- mapreduce编程(一)-二次排序
- Swift编程基础之排序(一)
- 面试利器(一)-------交换排序(冒泡排序和快速排序)
- 面试编程知识+算法题总结(一)
- 【求职】面试常见编程类题目---排序
- 程序员面试宝典随笔记(一)-----TCPIP和socket编程面试技巧
- docker registry接入ceph Swift API
- 网易编程题六,最大的奇约数(递推计算)
- AS使用过程中的那些坑
- Python转义符
- PDF文字替换
- 编程面试:排序(一)
- 容器OCI规范 镜像规范
- JavaScript瀑布流的实现以及底部刷新
- jQuery学习教程二十六: jQuery
- 处理iOS Android emoji系统表情
- ASP.NET中如何实现FORM认证登录
- 学习记录--生成对抗网络GAN研究进展(一)
- 非常适用的Sourceinsight插件,提高效率事半功倍
- bladeRF:自己调制无线门控钥匙信号