#include <bits/stdc++.h> using namespace std; void swap1(int a,int b){ int c=a; a=b; b=c; } void swap2(int &a,int &b){ int c=a; a=b; b=c; } int main(){ 排序算法:冒泡,选择,插入 int a[1000],n=5; for(int i=0;i<n-1;i++){ int k=i; for(int j=i;j<n;j++){ if(a[j]<a[k]) k=j; } swap(a[i],a[k]); } 桶排序:桶排序,计数排序,基数排序 计数排序:以下标当作数据,桶内记录数量 计数排序的限制:1、无法用下标表示的数据,2、数据范围过大(1000w) 用计数排序,排字母排序,通过ascii确定数据 用计数排序,排 -100~100 排序,先加后减 空间换时间 int a[10000]={}; int n,b; cin>>n; while(n--){ cin>>b; a[b+100]++; } for(int i=0;i<10000;i++){ if(a[i]){ cout<<i-100<<" "; } } 素数筛:素数的倍数一定不是素数
自定义函数 局部变量,全局变量 返回值类型,void 值传递,引用传递 int a=10,b=20; swap1(a,b);//值传递 cout<<a<<b; swap2(a,b);//引用传递 cout<<a<<b; 递归函数 return 0; } |