快速排序與二分查找程序
// 快速排序
#include
void q_sort(int arr[],int low,int high);
int main()
{
intarr[10] = {0};
inti = 0;
printf("輸入 10 個(gè)整數(shù):");
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("");
return0;
}
void q_sort(int arr[],int low,int high)
{
inti = 0,j = 0; //i-低 j-高
intbase = 0; // 基數(shù)
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--;
}
q_sort(arr,low,i-1);
q_sort(arr,i+1,high);
}
/***************************************
auth:肖喬
func:二分查找
***************************************/
#include
#define N 5
int main(){
inti,j,a[N],t;
inthig,low,mid,k;
printf("請(qǐng)輸入%d個(gè)整數(shù):",N);
for(j=0;j<=N-1;j++){
scanf("%d",&a[j]);
}
for(i=0;i
for(j=0;j
if(a[j]>a[j+1]){
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
printf("從小到大排列:");
for(j=0;j<=N-1;j++)
printf("%d",a[j]);
printf("");
#if 1
printf("請(qǐng)輸入要查找的數(shù):");
scanf("%d",&k);
low=0;hig=N-1;
while(low<=hig){
mid=(low+hig)/2;
if(a[mid]==k){
printf("%d在數(shù)組中第%d位",a[mid],mid+1);
break;
}
elseif(a[mid]
low=mid+1;
else
hig=mid-1;
}
#endif
return0;
}
關(guān)鍵詞:
快速排序二分查
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論