1.前言
在我们做练习里经常看到关于求最大最小值和排序查找的题目,今天我教大家用普通的代码来写一写吧!
2.求最大最小值
循环来求
#include <iostream>
using namespace std;
int main(){
int num[100];
int n;
cin >> n;
for (int i =0;i < n; i++){
cin >> num[i];
}
int big = 0,small = 100; //Big的赋值 是最小的底线,small的赋值是最大的底线.
for (int i =0;i < n; i++){
if (num[i] > big){
big = num[i];
}
if (num[i] < small){
small = num[i];
}
}
cout << big << " " << small;
return 0;
}
先输出最大值后输出最小值。
3.查找
查找你可以按顺序查找(就是遍历),时间复杂度太高,完全凭运气。如果数据有很多就不建议用这种方法。但是这个方法不需要让序列排序。
你还可以用二分查找,但是需要让序列排个序.
二分
#include <iostream>
using namespace std;
int main(){
int n,a[100];
cin >> n;
for (int i =0; i < n; i++){
cin >> a[i];
}
int j;
cin >> j;
int L = 0,R = n-1,top = -1;
while (L < R){
int m = (L+R)/2;
if (a[m] == j){
top = m;
break;
}
if (a[m] > j){
R = m-1;
}
if (a[m] < j){
L = m+1;
}
}
cout << top;
return 0;
}
输入三行第一个是数组长度第二个是数组第三个是要查找的元素.
最后输出一个值是目标元素的位置.
遍历
#include <iostream>
using namespace std;
int main(){
int n,a[100];
cin >> n;
for (int i =0; i < n; i++){
cin >> a[i];
}
int j;
cin >> j;
for (int i =0; i < n; i++){
if (a[i] == j){
cout << i;
return 0;
}
}
cout << "没有";
return 0;
}
跟上一个效果一样