我就是不写注释的🐕
1.
#ifndef HHHHH
#define HHHHH
#include<myhead.h>
typedef char datatype;
typedef struct Nood
{
datatype data;
struct Nood*L;
struct Nood*R;
}Node,*NodePtr;
NodePtr free_creat();
void num_1(NodePtr F);
void num_2(NodePtr F);
void num_3(NodePtr F);
#endif
2.
#include"ceshi3.h"
NodePtr free_creat()
{
char pos=0;
scanf("%c",&pos);
getchar();
if(pos=='#')
{
return NULL;
}
NodePtr F=(NodePtr)malloc(sizeof(Node));
F->data=pos;
F->L=free_creat();
F->R=free_creat();
return F;
}
void num_1(NodePtr F)
{
if(F==NULL)
{
return;
}
printf("%c\t",F->data);
num_1(F->L);
num_1(F->R);
}
void num_2(NodePtr F)
{
if(F==NULL)
{
return;
}
num_1(F->L);
printf("%c\t",F->data);
num_1(F->R);
}
void num_3(NodePtr F)
{
if(F==NULL)
{
return;
}
num_1(F->L);
num_1(F->R);
printf("%c\t",F->data);
}
3.
#include "ceshi3.h"
int main(int argc, const char *argv[])
{
NodePtr F= free_creat();
if(F!=NULL)
{
printf("成功\n");
}
num_1(F);
putchar(10);
num_2(F);
putchar(10);
num_3(F);
putchar(10);
return 0;
}
数据
#include <myhead.h>
/*void num_1(int *arr,int pos)
{
for(int i=1;i<pos;i++)
{
int a=0;
for(int j=0;j<pos-i;j++)
{
if(arr[j]>arr[j+1])
{
a=1;
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
if(a==0)
{
break;
}
}
printf("排序成功\n");
}
void num_3(int*arr,int pos)
{
int max=0;
for(int i=0;i<pos;i++)
{
int max=i;
for(int j=i+1;j<pos;j++)
{
if(arr[j]<arr[max])
{
max=j;
}
}
if(arr[max]!=arr[i])
{
int temp=arr[max];
arr[max]=arr[i];
arr[i]=temp;
}
}
}*/
void num_4(int *arr,int pos)
{
int i,j;
for(i=1;i<pos;i++)
{
int temp=arr[i];
for(j=i-1;temp<arr[j]&&j>=0;j--)
{
arr[j+1]=arr[j];
}
arr[j+1]=temp;
}
}
void num_2(int *arr,int pos)
{
for(int i=0;i<pos;i++)
{
printf("%d\t",arr[i]);
}
}
int part(int *arr,int low,int hight)
{
int X=arr[low];
while(low<hight)
{
while(arr[hight]>=X&&low<hight)
{
hight--;
}
arr[low]=arr[hight];
while(arr[low]<=X&&low<hight)
{
low++;
}
arr[hight]=arr[low];
}
arr[low]=X;
return low;
}
void paint(int *arr,int low,int hight)
{
if(low>=hight)
{
return;
}
int X=part(arr,low,hight);
paint(arr,low,X-1);
paint(arr,X+1,hight);
}
int main(int argc, const char *argv[])
{
int arr[]={8,4,6,0,1,5,7,1};
int pos=sizeof(arr)/sizeof(arr[0]);
num_4(arr,pos);
printf("\n");
num_2(arr,pos);
printf("\n");
return 0;
}