快速排序

快速排序模板

  #include<iostream>
  #include<cstdio>
  using namespace std;
  int x[100000];
  void qsort(int l, int r) {
        	int i = l;
        	int j = r;
      int mid = x[(l + r) / 2];
        do {
        	while (x[i] < mid)
		i++;
	while (x[j] > mid)
		j--;
	if (i <= j) {
		swap(x[i], x[j]);
		i++;
		j--;
            	}
           } while (i <= j);
                if (i < r)	qsort(i, r);
        	if (j > l)	qsort(l, j);
        }
        int main() {
        int n;
            cin >> n;
        	for (int i = 0;i < n;i++)
            	cin >> x[i];
        	qsort(0, n - 1);
        	for (int i = 0;i < n;i++)
            	cout << x[i]<<" ";
        	return 0;
  }
posted @ 2020-08-22 17:21  Auterman  阅读(102)  评论(0编辑  收藏  举报