2024.7.24 作业
创始人
2024-11-16 17:34:24
0

1.二叉树的创建、遍历自己实现一遍

bitree.h

#ifndef BITREE_H #define BITREE_H  #include   typedef char datatype;  typedef struct Node { 	datatype data; 	struct Node *left_child; 	struct Node *right_child; }Node,*BiTreePtr;  //创建二叉树 BiTreePtr tree_create();  //先序遍历 void prio_order(BiTreePtr B);  //中序遍历 void in_order(BiTreePtr B);  //后序遍历 void post_order(BiTreePtr B);     #endif 

bitree.c 

#include "bitree.h"  //创建二叉树 BiTreePtr tree_create() { 	char data = 0; 	scanf(" %c",&data); 	if( data=='#') 	{ 		return NULL; 	} 	BiTreePtr p = (BiTreePtr)malloc(sizeof(Node)); 	if( NULL==p ) 	{ 		printf("节点申请失败\n"); 		return NULL; 	} 	p->data = data; 	p->left_child = tree_create(); 	p->right_child = tree_create(); 	return p; }  //先序遍历 void prio_order(BiTreePtr B) { 	if( NULL==B ) 	{ 		return ; 	} 	printf("%c\t",B->data); 	prio_order(B->left_child); 	prio_order(B->right_child); }  //中序遍历 void in_order(BiTreePtr B) { 	if( NULL==B ) 	{ 		return ; 	} 	in_order(B->left_child); 	printf("%c\t",B->data); 	in_order(B->right_child); }  //后序遍历 void post_order(BiTreePtr B) { 	if( NULL==B ) 	{ 		return ; 	} 	post_order(B->left_child); 	post_order(B->right_child); 	printf("%c\t",B->data); } 

main.c 

#include "bitree.h"  int main(int argc, const char *argv[]) { 	BiTreePtr B = tree_create(); 	if( NULL==B ) 	{ 		printf("创建失败\n"); 		return -1; 	} 	printf("创建成功\n");  	printf("先序遍历结果为:");     prio_order(B);     printf("\n");       printf("中序遍历结果为:");     in_order(B);     printf("\n");       printf("后序遍历结果为:");     post_order(B);     printf("\n");  	return 0;	 }

2.把所有的排序算法自己实现一遍

#include   void bubble_sort(int *arr,int n)              //冒泡排序 { 	for(int i=1;iarr[j+1]) 			{ 				flag=1; 				int temp=arr[j]; 				arr[j]=arr[j+1]; 				arr[j+1]=temp; 			} 		} 		if(flag==0) 		{ 			break; 		} 	} 	printf("冒泡排序成功\n"); }  void select_sort(int *arr, int n)      //选择排序 { 	for(int i=0;iarr[j]) 			{ 				x=j; 			} 		} 		if(x!=i) 		{ 			int temp = arr[x]; 			arr[x]= arr[i]; 			arr[i] = temp; 		} 	} 	printf("选择排序成功\n"); }   void putout(int *arr,int n)                  //输出 { 	printf("当前元素为:"); 	for(int i=0;i=0 && arr[j]>=x;j--) 		{ 			arr[j+1]=arr[j]; 		} 		arr[j+1]=x; 	} 	printf("插入排序成功\n"); }    int part(int *arr,int low,int high) { 	int x=arr[low]; 	while(high>low) 	{ 		while( arr[high]>=x && high>low ) 		{ 			high--; 		}	 		arr[low]=arr[high]; 		while( arr[low]<=x && high>low ) 		{ 			low++; 		}	 		arr[high]=arr[low]; 	} 	arr[low]=x; 	return low; }   void quick_sort(int *arr,int low,int high)     //快速排序 { 	if(low>=high) 	{ 		return; 	} 	int mid=part(arr,low,high); 	quick_sort(arr,low,mid-1); 	quick_sort(arr,mid+1,high); 	printf("快速排序成功\n"); }  int main(int argc,const char *argv[]) {     int arr[]={7,8,5,2,3,0,1,9}; 	int len =sizeof(arr)/sizeof(arr[0]); 	bubble_sort(arr,len); 	putout(arr,len);      int brr[]={7,8,5,2,3,0,1,9}; 	select_sort(brr,len); 	putout(brr,len);               int crr[]={7,8,5,2,3,0,1,9}; 	insert_sort(crr,len); 	putout(crr,len);               int drr[]={7,8,5,2,3,0,1,9}; 	quick_sort(drr,0,len-1); 	putout(drr,len);      return 0; } 

思维导图

相关内容

热门资讯

据目击者称!潮汕雀友会辅助(辅... 据目击者称!潮汕雀友会辅助(辅助挂)果然真的有挂(正版开挂辅助安装)-哔哩哔哩潮汕雀友会辅助辅助器中...
此事引发网友热议!微信老友广东... 此事引发网友热议!微信老友广东辅助(辅助挂)一直是有挂(详细开挂辅助安装)-哔哩哔哩1、任何微信老友...
出乎意料的是!赣南好友辅助(辅... 出乎意料的是!赣南好友辅助(辅助挂)其实真的有挂(传授开挂辅助脚本)-哔哩哔哩一、赣南好友辅助AI软...
随着!贪玩娱乐科技(辅助挂)其... 随着!贪玩娱乐科技(辅助挂)其实是有挂的(盘点开挂辅助工具)-哔哩哔哩1、贪玩娱乐科技系统规律教程、...
一直以来!微乐游戏竞技团辅助(... 一直以来!微乐游戏竞技团辅助(辅助挂)原来真的有挂(科技开挂辅助平台)-哔哩哔哩1、超多福利:超高返...
现有关情况通报如下!桃乐甘肃麻... 现有关情况通报如下!桃乐甘肃麻将辅助软件(辅助挂)果然真的有挂(正版开挂辅助安装)-哔哩哔哩1、首先...
据权威媒体报道!福建大玩家十三... 据权威媒体报道!福建大玩家十三水辅助(辅助挂)原来有挂(实测开挂辅助下载)-哔哩哔哩所有人都在同一条...
近年来!湖北休闲辅助(辅助挂)... 近年来!湖北休闲辅助(辅助挂)原来真的有挂(科技开挂辅助安装)-哔哩哔哩亲,关键说明,湖北休闲辅助赛...
长期以来!台州哈狗有辅助软件吗... 长期以来!台州哈狗有辅助软件吗(辅助挂)一贯是有挂的(实测开挂辅助软件)-哔哩哔哩亲,关键说明,台州...
据统计!小程序微乐贵阳捉鸡麻将... 据统计!小程序微乐贵阳捉鸡麻将挂(辅助挂)一贯真的是有挂(正版开挂辅助平台)-哔哩哔哩1、该软件可以...