当前位置:网站首页>Blue Bridge Cup Quick sort (code completion)
Blue Bridge Cup Quick sort (code completion)
2022-07-04 07:11:00 【Woodenman Du】
requirement : Complete the code to achieve fast scheduling
Need to complete the code :
#include <stdio.h>
void swap(int a[], int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
int partition(int a[], int p, int r)
{
int i = p;
int j = r + 1;
int x = a[p];
while(1){
while(i<r && a[++i]<x);
while(a[--j]>x);
if(i>=j) break;
swap(a,i,j);
}
_____________________;
return j;
}
void quicksort(int a[], int p, int r)
{
if(p<r){
int q = partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
int main()
{
int i;
int a[] = {50,49,48,48,47,46,1,3,5,2,4,6,30,30,30,30};
int N = 16;
quicksort(a, 0, N-1);
for(i=0; i<N; i++) printf("%d.", a[i]);
printf("\n");
return 0;
}answer : swap(a,j,p);
analysis :
First
What is the process of quick platoon ?
1. Two points
2. Set benchmark
3. If it is smaller than the reference point, put it to the left of the reference point , If it is larger than the reference point, put it to the right of the reference point , And this process is realized by constantly finding qualified element exchange
Note that it is placed on both sides of the benchmark , One thing must be done after the exchange of qualified elements : Is the benchmark I selected not necessarily in the center of the eligible element , So we must exchange again , Let the benchmark go where it should be , The answer comes out
Sorting algorithm :https://blog.csdn.net/qq_59700927/article/details/122638158
边栏推荐
- Design of test cases
- [GF (q) + LDPC] regular LDPC coding and decoding design and MATLAB simulation based on the GF (q) field of binary graph
- Mobile adaptation: vw/vh
- The number of patent applications in China has again surpassed that of the United States and Japan, ranking first in the world for 11 consecutive years
- [FreeRTOS] FreeRTOS learning notes (7) - handwritten FreeRTOS two-way linked list / source code analysis
- The crackdown on Huawei prompted made in China to join forces to fight back, and another enterprise announced to invest 100 billion in R & D
- Electronic Association C language level 1 34, piecewise function
- MySQL 45 lecture learning notes (VII) line lock
- [MySQL transaction]
- Responsive mobile web test questions
猜你喜欢

Solution of running crash caused by node error

Redis - detailed explanation of cache avalanche, cache penetration and cache breakdown

大厂技术专家:架构设计中常用的思维模型

About how idea sets up shortcut key sets

Status of the thread

Chain ide -- the infrastructure of the metauniverse

NLP literature reading summary

Master-slave replication principle of MySQL database

Computer connects raspberry pie remotely through putty
![[Mori city] random talk on GIS data (I)](/img/e4/2a2ceb10a2c0285cdd0c922f827930.png)
[Mori city] random talk on GIS data (I)
随机推荐
leetcode825. 适龄的朋友
2022年6月小结
【FPGA教程案例7】基于verilog的计数器设计与实现
JS common time processing functions
响应式移动Web测试题
[Mori city] random talk on GIS data (I)
tars源码分析之4
Responsive mobile web test questions
How to input single quotation marks and double quotation marks in latex?
[MySQL transaction]
果果带你写链表,小学生看了都说好
MySQL 45 lecture learning notes (VI) global lock
Research on an endogenous data security interaction protocol oriented to dual platform and dual chain architecture
[GF (q) + LDPC] regular LDPC coding and decoding design and MATLAB simulation based on the GF (q) field of binary graph
Mysql 45讲学习笔记(十二)MySQL会“抖”一下
Summary of MySQL common judgment functions!! Have you used it
电子协会 C语言 1级 34 、分段函数
Since DMS is upgraded to a new version, my previous SQL is in the old version of DMS. In this case, how can I retrieve my previous SQL?
MySQL 45 learning notes (XI) how to index string fields
【FPGA教程案例8】基于verilog的分频器设计与实现