公司自己做网站/深圳百度seo怎么做
定义两个变量用来指向数组元素:i,j
冒泡排序:
两两加1循环比较,大的一致交换,直达最后
两两加1循环,如果i的位置大于j的位置的元素,交换
int main(){int arr[]={12,34,3,32,23,1,232};int i=0,j=0,len=sizeof(arr)/sizeof(int);int temp,jlen=len;for(;i<len;++i){cout<<arr[i]<<" ";}cout<<endl;for(i=0;i<len-1;++i){for(j=0;j<jlen-1;++j){if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}jlen--;}for(i=0;i<len;++i){cout<<arr[i]<<" ";}return 0;
}
冒泡排序优化
1,如果循环一轮,没有交换--即原数组已经有序,就不再循环,直接退出。
选择排序
定位首位置
1,每一次循环到最后找到最小元素的位置,再把最小元素和每一次循环的首位置元素交换。
2,每一次循环,两两比较,把小的放在每次循环首位置,直到循环比较到最后一个元素。
两种方法都可以完成,但是1的效率高