데이터 구조 실험 5 - 재 귀
9386 단어 데이터 구조
/*
int max(int a[],int left, int right), a[left..right] 。
*/
#include "ArrayIo.h"
/* , */
int max(int a[],int left,int right)
{
int mid,lmax,rmax;
if(left==right)
return a[left];
else
{
mid=(left+right)/2;
lmax=max(a,left,mid);
rmax=max(a,mid+1,right);
return lmax>rmax?lmax:rmax;
}
}
int main()
{ int a[10];
input(a,10);
print(a,10);
printf(" :%d
",max(a,0,9));
return 0;
}
/*
void partion(int a[], int left, int right),
a[left..right] , 。
*/
#include "ArrayIo.h"
#define N 10
/* , */
void partion(int a[], int left,int right)
{
int temp;
while(leftwhile(left%2==1) //
left++;
while(left%2==0) //
right--;
if(left//
{
temp=a[left];
a[left]=a[right];
a[right]=temp;
partion(a,left+1,right-1);
}
}
}
int main()
{ int a[N];
init(a,N); /* N */
print(a,N);
partion(a,0,N-1);
print(a,N);
return 0;
}
/*
void bubbleSort(int a[],int n),
n 。
int binSearch(int a[], int left, int right,int key),
a[left..right] key ,
-1。
*/
#include "ArrayIo.h"
#define N 10
/* , */
void bubbleSort(int a[],int n)
{
int i,temp,flag;
if(n>1)
{
flag=0;
for(i=0;i1;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
}
bubbleSort(a,n-1);
}
}
int binSearch(int a[], int left,int right,int key)
{
int mid;
if(left>right)
return -1;
else
{
mid=(left+right)/2;
if(a[mid]==key)
return mid;
else if(a[mid]>key)
binSearch(a,left,mid-1,key);
else
binSearch(a,mid+1,right,key);
}
}
int main()
{ int x,pos,a[N];
init(a,N);
bubbleSort(a,N);
print(a,N);
printf(" :
");
scanf("%d",&x);
pos=binSearch(a,0,N-1,x);
if (pos!=-1) printf("a[%d]=%d
",pos,x);
else printf("Not found!
");
return 0;
}
/*
3, ,
linklist max(linklist head), , , NULL。
*/
#include "slnklist.h"
/* , */
linklist max(linklist head)
{
linklist p,q;
if(!head->next)
return NULL;
else
if(!head->next->next)
return head->next;
else
{
p=max(head->next);
if(head->next->info > p->info)
return head->next;
return p;
}
}
int main()
{ linklist head,p;
head=creatbyqueue();
print(head);
p=max(head);
if (p)
printf("max=%d
",p->info);
else
printf("
");
return 0;
}
본문 주소:http://liuyanzhao.com/3590.html
전재 하 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.