`
kennethf6986
  • 浏览: 69267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面试题目之简单算法【快速排序】

阅读更多
H公司2010年笔试题目,快速排序
#include "stdio.h"
#include "conio.h"
#include "string.h"

void main()
{
	void quickSort( int date[], int low, int high);
	int a[6];
	printf("请输入6个数字\n");
	for(int i = 0; i<6; i++) 
	{
		scanf("%d", &a[i]);
	}

	int arrSize = sizeof(a)/sizeof(a[0]);
	printf("数组元素的个数:%d\n",arrSize);

	quickSort(a,0,arrSize-1);

	//排序好的数字进行输出
	for(int i=0; i < 6; i++)
	{
		printf("%d,",a[i]);

	}
	printf("\n");
}


void quickSort( int date[], int low, int high)
{
	int l,h,temp;
	if(low < high)
	{
		l = low;
		h = high;
		temp = date[l];     //枢轴
		while(l < h) 
		{
			while(l < h && date[h] > temp ) h--;   //从右边向左搜索 小于temp的数字
			if(l < h)
			{
				date[l++] = date[h];
			}

			while(l < h && date[l] < temp ) l++;   //从左向右搜索大于temp的数字
			if(l < h)
			{
				date[h--] = date[l];
			}
		}

		date[l] = temp;
		quickSort(date, low, l-1);
		quickSort(date, l+1, high);
	}
}


分享到:
评论

相关推荐

    白话经典算法系列之六 快速排序 快速搞定 - MoreWindows - 博客园1

    由于快速排序的效率和其分治思想,它在许多编程面试和考试中被广泛考察,是许多软件公司笔试面试的常见题目。 快速排序的实现代码通常包含以下部分: ```cpp // 调整数组,返回基准数的位置 int AdjustArray(int s...

    通过使用python语言实现的快速排序算法

    介绍: 该资源详细介绍了如何使用Python语言实现快速排序算法(Quick Sort)。快速排序是一种高效的...面试准备:对于准备参加技术面试的候选人,快速排序算法是一个常见的面试题目,本资源可以帮助候选人复习和准备。

    几种经典排序算法,包括快速排序、冒泡排序、选择排序和堆排序

    在计算机科学领域,排序算法是数据处理中至关重要的一部分,它涉及到如何有效地重新排列...同时,这些排序算法也常作为面试中考察候选人基础能力的重要题目,熟练掌握它们对于提升编程技能和解决实际问题具有重要意义。

    101算法面试题目

    《101算法面试题目》是一份专门为求职者准备的英文资源,涵盖了101个算法相关的面试问题,旨在帮助应聘者提升在技术面试中的表现。算法是计算机科学的基础,对于任何想要进入IT行业的程序员或者工程师来说,掌握良好...

    常见算法面试题目有代码详解

    本资源"常见算法面试题目有代码详解"显然是一份针对算法面试的珍贵资料,涵盖了链表、图、树以及数据元素等核心概念。下面将详细阐述这些领域的关键知识点。 首先,链表是一种线性数据结构,它的元素(节点)不连续...

    Python双指针算法模板和题目同向相向快速排序归并排序

    - **快速排序**:基于分治策略的排序算法,使用“分区”操作将数组分为两个子序列,然后递归地对每个子序列进行排序。 - **归并排序**:也是分治策略,将数组分为两半,分别排序,然后合并两个已排序的子数组。 双...

    快速排序GIF动画生成程序

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R....快速排序由于其高效性和广泛的应用,是编程学习中的经典算法之一,也是许多面试中考察的热门题目。理解并能够实现快速排序,对于提升编程能力大有裨益。

    cpp-剑指Offer算法面试题目总结CC实现

    - 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。 - 查找算法:顺序查找、二分查找、哈希查找。 - 递归:理解递归原理,解决递归问题,如斐波那契数列、汉诺塔等。 - 动态规划:解决...

    华为计算机公司的面试题目

    排序是计算机科学中的基础问题,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。面试中可能会考察你对各种算法的理解,包括它们的时间复杂度、空间复杂度以及适用场景。 2. **面试...

    程序员代码面试指南 IT名企算法与数据结构题目最优解.zip

    2. **排序与搜索**:如快速排序、归并排序、堆排序、二分查找、哈希查找等,这些都是解决大量数据处理问题的核心工具。 3. **动态规划**:这是解决复杂问题的有效方法,通过将大问题分解为小问题,找出最优解。 4....

    面试必考题目 各种排序实例及点评

    面试必考题目 各种排序实例及点评 排序是计算机科学中的一种基本操作,它广泛应用于数据处理、信息检索、人工智能等领域。排序算法的选择取决于具体的应用场景、数据特点和性能要求。本文总结了各种排序实例,包括...

    经典面试题目 经典面试题目 经典面试题目 经典面试题目

    - **排序算法**:快速排序、归并排序、冒泡排序、选择排序等,分析它们的时间复杂度和稳定性。 - **查找算法**:二分查找、哈希查找和线性查找。 - **动态规划**:解决背包问题、最长公共子序列等问题,理解状态...

    【算法速成宝典】- 排序算法大揭秘:快速排序实战详解+实战题目库(积分解锁)

    本资源深度解析了快速排序算法原理及其实现步骤,涵盖从基础理论到高级技巧。提供详尽的实例解析与高质量代码示例,助力你轻松掌握快速排序,并挑战实战面试题。包含VIP专享的面试算法集锦,非零积分用户均可获取。...

    面试常见算法题

    4. **排序算法**:快速排序、归并排序、插入排序、冒泡排序等都是面试中常见的排序算法。要熟悉每种算法的时间复杂度、空间复杂度及适用场景,特别是快速排序和归并排序的原地实现。 5. **链表操作**:链表包括...

    快速排序-算法.zip

    快速排序是面试和竞赛编程中常见的算法题目,理解并熟练掌握其原理和实现是提升编程能力的重要一步。通过练习不同版本的快速排序,可以更好地理解其工作原理,并能灵活应对各种场景下的排序问题。

    常见面试算法题

    提供的压缩文件中的"que.txt"可能包含具体的面试题,"算法面试题大全.doc"可能是各种算法问题的集合,而"程序员面试智力、算法题汇总一.pdf"则可能包含更多智力和算法题目,这些资源可以帮助面试者深入理解和练习...

    面试宝典,经典算法

    2. 算法基础:包括排序(冒泡、选择、插入、快速、归并等)、搜索(线性、二分、深度优先、广度优先等)、动态规划、贪心算法、回溯法等。了解这些算法的基本思想和应用场合,能有效解决实际问题。 3. 编程语言基础...

    算法设计题集_算法题目_

    1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。这些排序算法各有优劣,理解它们的工作原理有助于在实际问题中选择最合适的排序方法。 2. **搜索算法**:如线性搜索、二分查找...

    MoreWindows白话经典算法之七大排序

    冒泡排序、插入排序、选择排序、希尔排序、归并排序、快速排序和堆排序是七大基础的计算机算法,它们各自有着不同的特点和适用...在面试中,排序算法是常见的面试题目,考察应聘者的基础知识掌握程度及问题解决能力。

    程序员代码面试指南:IT名企算法与数据结构题目最优解-代码

    - **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等,理解它们的时间复杂度和适用场景。 - **查找算法**:如二分查找、哈希查找,以及更高级的二叉搜索树查找。 - **图论算法**:...

Global site tag (gtag.js) - Google Analytics