zoukankan      html  css  js  c++  java
  • 冒泡排序,快速排序,归并排序

    冒泡排序

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    void mysort(vector<int>& da) {
    	int n = da.size();
    	for (int i=0; i<n; ++i) {
    		for (int j=0; j<n-i-1; ++j) {
    			if (da[j]>da[j+1]) swap(da[j], da[j+1]);
    		}
    	}
    }
    
    int main()
    {
    	vector<int> nums{9,8,7,4,5,6,2,1,3};
    	mysort(nums);
    	for (int i:nums) cout<<i<<' ';
    	cout<<endl;
       	return 0;
    }
    

    快速排序

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    void mysort(vector<int>& da, int s, int e) {
    	if (s>=e) return ;
    	int i=s, j=e, tmp=da[s];
    	while(i<j) {
    		while (i<j && da[j]>=tmp) j--;
    		while (i<j && da[i]<=tmp) i++;
    		swap(da[i], da[j]);
    	}
    	swap(da[s], da[i]);
    	mysort(da, s, i-1);
    	mysort(da, i+1, e);
    }
    
    int main()
    {
    	vector<int> nums{9,8,7,4,5,6,2,1,3};
    	mysort(nums, 0, nums.size()-1);
    	for (int i:nums) cout<<i<<' ';
    	cout<<endl;
       	return 0;
    }
    

    归并排序

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    void mysort(vector<int>& da, int s, int e) {
    	if (s>=e) return ;
    	int mid = s+((e-s)>>2);
    	mysort(da, s, mid);
    	mysort(da, mid+1, e);
    	
    	vector<int> tmp;
    	int i=s, j=mid+1;
    	while(i<=mid && j<=e) {
    		if (da[i]<=da[j]) tmp.push_back(da[i++]);
    		else tmp.push_back(da[j++]);
    	}
    	
        for(; i<=mid; ++i) tmp.push_back(da[i]);
    	for(; j<=e; ++j)   tmp.push_back(da[j]);
    	
    	for (int k=s; k<=e; ++k) da[k]=tmp[k-s];
    }
    
    int main()
    {
    	vector<int> nums{9,8,7,4,5,6,2,1,3};
    	mysort(nums, 0, nums.size()-1);
    	for (int i:nums) cout<<i<<' ';
    	cout<<endl;
       	return 0;
    }
    
  • 相关阅读:
    一周随笔--15.10.06
    KVC/KVO总结
    一周随笔--15.9.28
    一周随笔--15.9.21
    CocoaPods使用中的invalid byte sequence in US-ASCII错误
    自定义TabBar
    FMDB配合sqlite使用
    常用第三方库
    LLDB编译器命令
    coreData
  • 原文地址:https://www.cnblogs.com/narjaja/p/11239868.html
Copyright © 2011-2022 走看看