资讯详情

快速排序与二分查找程序

快排和二分查找的原理就不说了,网上一搜一大堆,这里主要是自己编写的快排、二分与系统自带的快排、二分代码,一般面试都会出冒泡,所以冒泡是才是最重要的。系统自带的快排函数在编写代码的时候用着挺方便的,代码如下:

// 快速排序

#include <stdio.h>

void q_sort(int arr[],int low,int high);

int main()

{

intarr[10] = {0};

inti = 0;

printf("输入 10 个整数:\n");

for(i= 0;i < 10;i++)

scanf("%d",&arr[i]);

q_sort(arr,0,9);

for(i= 0;i < 10;i++)

printf("%d",arr[i]);

printf("\n");

return0;

}

void q_sort(int arr[],int low,int high)

{

inti = 0,j = 0; //i- j-

intbase = 0; // 基数

inttemp = 0;

if(low>= high) // 递归终止

return;

i= low;

j= high;

base= arr[low];

while(i< j){

while(arr[j]> base)// ->

j--;

temp= arr[j];

arr[j]= arr[i];

arr[i]= temp;

while(arr[i]< base)// ->

i++;

temp= arr[j];

arr[j]= arr[i];

arr[i]= temp;

if(i<j&& arr[i]==arr[j])

j--;

}

q_sort(arr,low,i-1);

q_sort(arr,i+1,high);

}

/***************************************

auth:肖乔

func:二分查找

***************************************/

#include<stdio.h>

#define N 5

int main(){

inti,j,a[N],t;

inthig,low,mid,k;

printf("请输入%d个整数:",N);

for(j=0;j<=N-1;j++){

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台