代码编织梦想

在这里插入图片描述
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int m;
void quicksort(int s[],int a,int b)
{
    int left=a,right=b,num;
    if(left<right)
	{
		num=s[left];
		while(left!=right)
		{
			while(right>left&&++m&&s[right]>=num) right--;
			s[left]=s[right];
			while(left<right&&++m&&s[left]<=num) left++;
			s[right]=s[left];
		}
		s[left]=num;
		quicksort(s,a,left-1);
		quicksort(s,left+1,b);
    }
}
int main()
{
	int n;
	scanf("%d",&n);
	int data[100001];
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&data[i]);
	}
	quicksort(data,1,n);
	printf("%d",m);
	return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_41723812/article/details/111101422

洛谷 T156530 儒略历(传智杯-练习赛)-爱代码爱编程

T156530 儒略历 题目描述 在 1582 年之前,以 4 为倍数的年份为闰年。正常情况下,一年中一月到十二月的天数分别是 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 天。如果这年是闰年,那么二月则有 29 天。 但某位皇帝发现这么做其实不够准确,会造成误差,因此规定从 1582 年开始,以 4

【QBKbupt】第十章 内部排序 A. 内部排序练习1-爱代码爱编程

#include<bits/stdc++.h> using namespace std; void quicksort(int s[],int a,int b) { int left=a,right=b,num; if(left<right) { num=s[left]; while(left!=right)

【QBKbupt】第九章 查找 D. 查找练习4-爱代码爱编程

#include<bits/stdc++.h> int* search(int* N, int S, int T) { int* R=(int*)malloc(sizeof(int)*(2)); R[0]=-1,R[1]=-1; int l=0,r=S-1; while(l<=r) { if(N[l]!=T) l++;

【QBKbupt】第十章 内部排序 C. 内部排序练习3-爱代码爱编程

#include<bits/stdc++.h> using namespace std; int main() { int cnt=0,n,num[10][101],data[101]; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&data[i])

UVA1592数据库-爱代码爱编程

1.预备知识 1.1map 1.每一元素对(pair)中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值; 2. //可以用key作为下标访问value map<int, string> ID_Name; ID_Name[2015] = "Tom";//如果已经存在key 2015,则会赋值修改

C++学习笔记 —— 继承同名变量于多重继承-爱代码爱编程

继承同名变量解析 如果子类只是继承父类的变量,则在子类中该变量其实只有一个,他的名字可以叫 d.A::n d.B::n 或 d.n,他们三个都是一个人 class A { public: int n; }; class B: public A {}; class D: public B {}; int main() {

【QBKbupt】第十章 内部排序 A. 内部排序练习1-爱代码爱编程

#include<bits/stdc++.h> using namespace std; void quicksort(int s[],int a,int b) { int left=a,right=b,num; if(left<right) { num=s[left]; while(left!=right)

【QBKbupt】第九章 查找 D. 查找练习4-爱代码爱编程

#include<bits/stdc++.h> int* search(int* N, int S, int T) { int* R=(int*)malloc(sizeof(int)*(2)); R[0]=-1,R[1]=-1; int l=0,r=S-1; while(l<=r) { if(N[l]!=T) l++;

【QBKbupt】第九章 查找 C. 查找练习3-爱代码爱编程

#include<bits/stdc++.h> using namespace std; struct Node { int data; Node *p; }; int main() { int n,m,t,s,a[105],b[105]; Node c[105],*current,*head; double ans1=0,ans

【QBKbupt】第十章 内部排序 C. 内部排序练习3-爱代码爱编程

#include<bits/stdc++.h> using namespace std; int main() { int cnt=0,n,num[10][101],data[101]; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&data[i])

1.3循环单链表之约瑟夫问题-爱代码爱编程

1.3循环单链表之约瑟夫问题 循环单链表 1、与单链表类似,循环单链表也有带头和不带头。循环单链表不为空时,尾结点指针域为头结点。为空时,头指针的指针域指向它本身。 2、带头结点的循环单链表为空的判断条件是head->next==head; 3、有时为了操作方便,循环单链表中只设尾指针。 约瑟夫问题: 有n个人,编号为1----n,围成一

1.4双向链表表示与实现-爱代码爱编程

1.4双向链表表示与实现 1、双向链表是指链表中每个结点都有两个指针域,一个指向后继结点,一个指向前驱结点。prior和next. 2、双向链表也分带头和不带头,带头操作更加方便。双向链表也有循环结构,称双向循环链表。 3、带头双向循环链表的判空条件为head->prior==head或head->next==head; 代码实现: