开始自我介绍,问项目,然后问基础知识,操作系统,网络,C++这些,最后两道编程题。
冒泡排序的递归写法:
自己开始写的双层for循环的写法,自己开始写的神奇方法把自己和面试官都搞懵逼了,后来发现自己写的代码其实是有问题的,并不是冒泡排序(相邻两个数,比较交换),只是每次保证i位置元素最小,类似选择排序?
#include <iostream>
using namespace std;
void bubble_sort(int arr[], int n){
for(int i = 0; i < n; i++){
for(int j = i; j < n; j++){
if(arr[i] > arr[j]){
swap(arr[i], arr[j]);
}
}
}
}
int main() {
int arr[] = {5, 4, 2, 3, 6};
int n = 5;
bubble_sort(arr, 5);
for(int i = 0; i < n; i++){
cout<<arr[i]<<endl;
}
}
然后在面试官的提示下改成了递归写法,去掉了一个for,一层一层递归,还是类似选择排序的方法。
#include <ios