冒泡排序:
#include <iostream>
using namespace std;
int a[] = {5,3,2,1,4};
int main(){
int n = 5;
for(int i = 0 ; i < n ; i ++ ){
for(int j = i + 1 ; j < n ; j ++ ){
if(a[i] > a[j])swap(a[i], a[j]);
}
}
for(int i = 0 ; i < n ; i ++ )cout << a[i] << " ";
return 0;
}
选择排序:
#include <iostream>
using namespace std;
int a[] = {0,5,1,2,5};
int main(){
int n = 5;
for(int i = 0 ; i < n - 1 ; i ++ ){
int mn = 10000 , l = 0;
for(int j = i + 1 ; j < n ; j ++ ){
if(a[j] < mn){
mn = a[j];
l = j;
}
}
if(a[i] > a[l]){
swap(a[i],a[l]);
}
}
for(int i = 0 ; i < n ; i ++ )cout << a[i] << " ";
return 0;
}
cin优化:
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
计数排序:
#include <iostream>
#include <map>
using namespace std;
int a[] = {0,5,1,2,3};
map<int,int> mp;
int main(){
int n = 5;
for(int i = 0 ; i < n ; i ++ ){
mp[a[i]] ++;
}
for(int i = 0 ; i <= 10000 ; i ++ ){
if(mp[i] > 0){
for(int j = 1 ; j <= mp[i] ; j ++ ){
cout << i << " ";
}
}
}
return 0;
}
字符替换:
#include <iostream>
#include <cstring>
using namespace std;
string s;
char c;
int main(){
cin >> s >> c;
for(int i = 0 ; i < s.size() ; i ++ ){
if(s[i] != c){
cout << s[i];
}
}
return 0;
}
交换(指针)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
int *l = &a, *r = &b;;
int *k = *l;
*l = *r;
*r = *k;
cout << a << " " << b;
return 0;
}
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com