真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)結(jié)構(gòu)函數(shù)題-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)建站成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶(hù)需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門(mén)戶(hù)設(shè)計(jì)推廣、行業(yè)門(mén)戶(hù)平臺(tái)運(yùn)營(yíng)、重慶App定制開(kāi)發(fā)、成都手機(jī)網(wǎng)站制作、微信網(wǎng)站制作、軟件開(kāi)發(fā)、雅安服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶(hù)可以直觀的預(yù)知到從創(chuàng)新互聯(lián)建站可以獲得的服務(wù)效果。

求二叉樹(shù)高度

二叉樹(shù)的遍歷

先序輸出葉結(jié)點(diǎn)

統(tǒng)計(jì)二叉樹(shù)結(jié)點(diǎn)個(gè)數(shù)

統(tǒng)計(jì)二叉樹(shù)葉子結(jié)點(diǎn)個(gè)數(shù)

直接插入排序

冒泡排序

簡(jiǎn)單選擇排序

折半插入排序

折半查找

有序數(shù)組的插入


求二叉樹(shù)高度

本題要求給定二叉樹(shù)的高度。

函數(shù)接口定義:

int GetHeight( BinTree BT );

其中BinTree結(jié)構(gòu)定義如下:

typedef struct TNode *Position; typedef Position BinTree; struct TNode{ ElementType Data; BinTree Left; BinTree Right; };

要求函數(shù)返回給定二叉樹(shù)BT的高度值。

int GetHeight( BinTree BT ){
  if(BT == NULL){
    return 0;
  }
  int left = 1 + GetHeight(BT->Left);
  int right = 1 + GetHeight(BT->Right);
  return 1 +  left>right?left:right;
}
二叉樹(shù)的遍歷

本題要求給定二叉樹(shù)的4種遍歷。

#define MAXSIZE 50
void InorderTraversal( BinTree BT )//中序遍歷 左根右 
{
 if(BT)
 {
  InorderTraversal(BT->Left);
  printf(" %c",BT->Data);
  InorderTraversal(BT->Right); 
 }
 } 
 void PreorderTraversal( BinTree BT )//先序遍歷(根左右)
 {
  if(BT){
	   printf(" %c",BT->Data);
	   PreorderTraversal(BT->Left);
	   PreorderTraversal(BT->Right);
	}
  } 
void PostorderTraversal( BinTree BT )//后序  左右根 
{
 if(BT)
 {
	  PostorderTraversal(BT->Left);
	  PostorderTraversal(BT->Right);
	  printf(" %c",BT->Data);
   }
}  
void LevelorderTraversal( BinTree BT )//第一種方法,若實(shí)現(xiàn)需要加上一些函數(shù)
{
 Queue Q;
 BinTree T;
 
 if(!BT) return ;
 
 Q = CreatQueue();
 AddQ(Q, BT);
 
 while(!IsEmpty(Q))
       {
	  T = DeleteQ(Q);
	  printf(" %c",T->Data);
	  if(T->Left)  AddQ(Q,T->Left);
	  if(T->Right) AddQ(Q,T->Right);
	}
}
先序輸出葉結(jié)點(diǎn)

本題要求按照先序遍歷的順序輸出給定二叉樹(shù)的葉結(jié)點(diǎn)。

void PreorderPrintLeaves( BinTree BT )
{
    if(BT==NULL)return;
    if(BT->Left==NULL && BT->Right==NULL)printf(" %c",BT->Data);//葉子結(jié)點(diǎn)就是左右都為空的結(jié)點(diǎn)
    PreorderPrintLeaves(BT->Left);
    PreorderPrintLeaves(BT->Right);
}
統(tǒng)計(jì)二叉樹(shù)結(jié)點(diǎn)個(gè)數(shù)

本題要求實(shí)現(xiàn)一個(gè)函數(shù),可統(tǒng)計(jì)二叉樹(shù)的結(jié)點(diǎn)個(gè)數(shù)。

int NodeCount ( BiTree T){
	int cnt = 0;
	if(T!=NULL){
		cnt++;//如果不為空則先自加1 
		cnt += NodeCount(T->lchild);//加上左子樹(shù)的結(jié)點(diǎn)個(gè)數(shù) 
		cnt += NodeCount(T->rchild);//加上右子樹(shù)的結(jié)點(diǎn)個(gè)數(shù) 
	}
	return cnt;//返回總的結(jié)點(diǎn)個(gè)數(shù) 
}
統(tǒng)計(jì)二叉樹(shù)葉子結(jié)點(diǎn)個(gè)數(shù)

本題要求實(shí)現(xiàn)一個(gè)函數(shù),可統(tǒng)計(jì)二叉樹(shù)的葉子結(jié)點(diǎn)個(gè)數(shù)。

int LeafCount ( BiTree T)
{
    int count=0;
    
    if(T==NULL){//空樹(shù)
        return 0;
    }else if(T->lchild==NULL && T->rchild==NULL){//只有一個(gè)根節(jié)點(diǎn)
        return count+1;
    }else {
        count=LeafCount(T->lchild)+LeafCount(T->rchild);//關(guān)系為左右相加求和
        return count;
    }
}
直接插入排序

本題要求實(shí)現(xiàn)直接插入排序函數(shù),待排序列的長(zhǎng)度1<=n<=1000。

void  InsertSort(SqList L){
    int i,j;
    int temp;
    for(i=1;i<=L.Length;i++){
        for(j=i+1;j<=L.Length;j++){
            if(L.elem[i]>L.elem[j]){
                temp = L.elem[j];
                L.elem[j] = L.elem[i];
                L.elem[i] = temp;
            }
        }
    }
}

冒泡排序

本題要求實(shí)現(xiàn)冒泡排序函數(shù),待排序列的長(zhǎng)度1<=n<=1000。

void bubble_sort(SqList L){//創(chuàng)作不易,點(diǎn)個(gè)贊吧,新春快樂(lè)~
	int len = L.Length;
	for(int i=1; iL.elem[j+1]){
				int temp = L.elem[j];
				L.elem[j] = L.elem[j+1];
				L.elem[j+1] = temp;
			}
		}
	}
}

簡(jiǎn)單選擇排序

本題要求實(shí)現(xiàn)簡(jiǎn)單選擇排序函數(shù),待排序列的長(zhǎng)度1<=n<=1000。

void  SelectSort(SqList L){
    int i, j, k, temp;
    for(i=1; i


折半插入排序

實(shí)現(xiàn)折半插入排序。

void BInsertSort(SqList &L){//創(chuàng)作不易,點(diǎn)個(gè)贊吧,新春快樂(lè)~
	int low, high;
	for(int i=2; i<=L.length; i++){
		L.r[0] = L.r[i];
		low = 1;
		high = i-1;
		while(low<= high){
			int mid = (low+high)/2;
			if(L.r[0].key< L.r[mid].key)
				high = mid - 1;
			else
				low = mid + 1;
		}
		for(int j=i-1; j>=high+1; --j)
			L.r[j+1] = L.r[j];
		L.r[high+1] = L.r[0];
	}
}

折半查找

給一個(gè)嚴(yán)格遞增數(shù)列,函數(shù)int Search_Bin(SSTable T, KeyType k)用來(lái)二分地查找k在數(shù)列中的位置。

int  Search_Bin(SSTable T, KeyType k)
{
	int Low, Mid, High;        //    設(shè)立low,Mid,H igh標(biāo)志
	Low = 1; High = T.length;    
	while (Lowk)
				High = Mid - 1;
			else
				return Mid;
	}
	return 0;
}
有序數(shù)組的插入

本題要求將任一給定元素插入從大到小排好序的數(shù)組中合適的位置,以保持結(jié)果依然有序。

Position BinarySearch( List L, ElementType X )
{
 int low = 1, high = L->Last+1,mid;
 while (low<= high)
 {
       mid = (low + high) / 2;
        if (L->Data[mid]Data[mid]>X)
            low = mid + 1;
        else
            return 1;
 }
 return 0;

}
bool Insert(List L, ElementType X)
{
 int pos,i,j;
 if (L->Last + 1 >= MAXSIZE||1==BinarySearch(L, X)) return false;
    
 for ( i = 0; i<= L->Last; ++i)
  if (L->Data[i]<= X) break;
  pos=i;
 for (int j = L->Last;j>=pos; j--){
     L->Data[j+1] = L->Data[j];
 }  
  L->Data[pos] = X;
  L->Last++;
 return true;
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱(chēng):數(shù)據(jù)結(jié)構(gòu)函數(shù)題-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/ggsoi.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部