国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)(超詳細(xì)講解!?。┑谑斯?jié) 串(堆串)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)(超詳細(xì)講解?。。┑谑斯?jié) 串(堆串)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.定義

假設(shè)以一維數(shù)組heap [MAXSIZE] 表示可供字符串進(jìn)行動(dòng)態(tài)分配的存儲(chǔ)空間,并設(shè) int start 指向heap 中未分配區(qū)域的開始地址(初始化時(shí)start =0) 。在程序執(zhí)行過程中,當(dāng)生成一個(gè)新串時(shí),就從start指示的位置起,為新串分配一個(gè)所需大小的存儲(chǔ)空間,同時(shí)建立該串的描述。這種存儲(chǔ)結(jié)構(gòu)稱為堆結(jié)構(gòu)。 此時(shí),堆串可定義如下:

typedef  struct
{int   len; 
 int   start; 
} HeapString; 

其中l(wèi)en域指示串的長度, start域指示串的起始位置。借助此結(jié)構(gòu)可以在串名和串值之間建立一個(gè)對(duì)應(yīng)關(guān)系,稱為串名的存儲(chǔ)映象。系統(tǒng)中所有串名的存儲(chǔ)映象構(gòu)成一個(gè)符號(hào)表。?

數(shù)據(jù)結(jié)構(gòu)(超詳細(xì)講解?。。┑谑斯?jié) 串(堆串),數(shù)據(jù)結(jié)構(gòu)(超詳細(xì)講解?。。?數(shù)據(jù)結(jié)構(gòu),算法,c語言

?在C語言中,已經(jīng)有一個(gè)稱為“堆”的自由存儲(chǔ)空間,并可用malloc()和free()函數(shù)完成動(dòng)態(tài)存儲(chǔ)管理。因此,我們可以直接利用C語言中的“堆”實(shí)現(xiàn)堆串。此時(shí),堆串可定義如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-744342.html

typedef  struct
{  
    char  * ch;  
    int   len; 
} HString; 

2.基本操作

1.初始化

//初始化
HString * Init_HString( )
{	HString *s;	
	s = (HString *) malloc ( sizeof( HString ) );
 	s->len=0;
 	s->ch=NULL;
 	printf("初始化成功。\n");
	return s;	
}

2.錄入

//錄入
int Enter_SStrin(HString *s)
{char x;
int len;
printf("請(qǐng)輸入字符串長度和元素:");
scanf("%d %c",&len,&x); 
s->ch=(char *) malloc ( len );
while(x!='#')
{
	s->ch[s->len] = x;	
	s->len=s->len+1;  
	scanf(" %c",&x);
}
printf("錄入完成。\n");
	return 1;			/*入隊(duì)成功,函數(shù)返回1*/
}

3.插入

//插入 
int StrInsert(HString *s,HString t) /* 在串s中序號(hào)為pos的字符之前插入串t */
{
int i,pos;
char *temp;
printf("請(qǐng)輸入插入位置:");
scanf("%d",&pos); 
if (pos<0 || pos>s->len || s->len==0) return(0);
temp=(char *)malloc(s->len + t.len);
if (temp==NULL) return(0);
for (i=0;i<pos;i++) temp[i]=s->ch[i];
for (i=0;i<t.len;i++) temp[i+pos]=t.ch[i];
for (i=pos;i<s->len;i++) temp[i + t.len]=s->ch[i];
s->len+=t.len;
free(s->ch);s->ch=temp;
printf("插入成功\n");
return(1);
} 

4.刪除

//串刪除函數(shù)
int StrDelete(HString *s) /* 在串s中刪除從序號(hào)pos起的len個(gè)字符 */
{
int i,pos,len;
char *temp;
printf("請(qǐng)輸入刪除位置和個(gè)數(shù):");
scanf("%d %d",&pos,&len); 
if (pos<0 || pos>(s->len - len)) return(0);
temp=(char *)malloc(s->len - len);
if (temp==NULL) return(0);
for (i=0;i<pos;i++) temp[i]=s->ch[i];
for (i=pos;i<s->len - len;i++) temp[i]=s->ch[i+len];
s->len=s->len-len;
free(s->ch);s->ch=temp;
printf("刪除成功\n");
return(1);
} 

5.遍歷

//遍歷 
void Printf(HString *s)
{int i;
for(i=0;i<s->len;i++)
{printf("%c",s->ch[i]);
}
printf("\n");
}

6.復(fù)制

//串復(fù)制函數(shù) 
int StrCopy(HString *s,HString t) /* 將串t的值復(fù)制到串s中 */
{
int i;
s->ch=(char *)malloc(t.len);
if (s->ch==NULL) return(0);
for (i=0;i<t.len;i++) s->ch[i]=t.ch[i];
s->len=t.len;
printf("復(fù)制完成。\n");
return(1);
} 

7.判空

//判空函數(shù)
int StrEmpty(HString s) /* 若串s為空(即串長為0),則返回1,否則返回0 */
{
if (s.len==0) {
	printf("堆串為空。\n");
	return(1);
}
else 
printf("堆串不為空。\n");
return(0);
} 

8.比較

//串比較函數(shù)
int StrCompare(HString s,HString t) /* 若串s和t相等, 則返回0; 若s>t, 則返回1; 若s<t, 則返回-1 */
{
int i;
for (i=0;i<s.len&&i<t.len;i++)  
    if (s.ch[i]!=t.ch[i]) 
	{
    if(s.ch[i]- t.ch[i]==0)
	printf("串s和t相等。\n");
	if(s.ch[i]- t.ch[i]>0)
	printf("串s大于t。\n");
	if(s.ch[i]- t.ch[i]<0)
	printf("串s小于t。\n");
		return(s.ch[i] - t.ch[i]);
	}
	if(s.len - t.len==0)
printf("串s和t相等。\n");
if(s.len - t.len>0)
printf("串s大于t。\n");
if(s.len - t.len<0)
printf("串s小于t。\n");	  	
return(s.len - t.len);
} 

9.求串長

//求串長函數(shù)
int StrLength(HString s) /* 返回串s的長度 */
{printf("串長為:%d\n",s.len);
return(s.len);
} 

10.清空

//清空函數(shù) 
int StrClear(HString *s) /* 將串s置為空串 */
{
if (s->ch!=NULL) free(s->ch);
s->ch=NULL;
s->len=0;
printf("清空完成。\n");
return(1);
} 

11.連接

//連接函數(shù)
int StrCat(HString *s,HString t) /* 將串t連接在串s的后面 */
{
int i;
char *temp;
temp=(char *)malloc(s->len + t.len);
if (temp==NULL) return(0);
for (i=0;i<s->len;i++)
    temp[i]=s->ch[i];
for (i=s->len;i<s->len + t.len;i++) 
    temp[i]=t.ch[i-s->len];
s->len+=t.len;
free(s->ch);s->ch=temp;
printf("連接完成。\n");
return(1);
} 

12.求子串

//求子串函數(shù)
HString *SubString(HString s) /* 將串s中序號(hào)pos起的len個(gè)字符復(fù)制到sub中 */
{
int i,pos,len;
HString *sub;	
	sub = (HString *) malloc ( sizeof( HString ) );
 	sub->len=0;
 	sub->ch=NULL;
printf("請(qǐng)輸入子串起始位置,和子串長度:");
scanf("%d %d",&pos,&len); 
if (sub->ch!=NULL) free(sub->ch);
if (pos<0 || pos>s.len || len<1 || len>s.len-pos) 
   { sub->ch=NULL;
   sub->len=0;
   printf("子串位置不合法。\n");
   return(0);} 
else { 
   sub->ch=(char *)malloc(len); 
   if (sub->ch==NULL) return(0); 
   for (i=0;i<len;i++) 
   sub->ch[i]=s.ch[i+pos]; 
   sub->len=len;  
   printf("截取子串成功。\n");
   return(sub); 
   }
} 

13.定位

//定位函數(shù) 
int StrIndex(HString s,HString t) /* 求串t在串s中的位置 */
{
int i, j,pos;
printf("請(qǐng)輸入在第幾個(gè)元素之后進(jìn)行查找:");
scanf("%d",&pos);
if (s.len==0 || t.len==0) 
{printf("s或t不存在。\n");
	return(0);
}
i=pos;j=0;
while (i<s.len && j<t.len)
   { if (s.ch[i]==t.ch[j]) 
     {
       i++;j++;
       } 
    else {
       i=i-j+1;j=0;
       }
    }
if (j>=t.len) 
{printf("串t首在s中的位置為:%d\n",i-j);
	return(i-j);
}
else 
printf("未在s中找到t。\n"); 
return(0);
} 

3.代碼

 #include<stdio.h>
#include<malloc.h>

typedef  struct
{  
    char  * ch; 
    int   len; 
} HString; 


//初始化
HString * Init_HString( )
{	HString *s;	
	s = (HString *) malloc ( sizeof( HString ) );
 	s->len=0;
 	s->ch=NULL;
 	printf("初始化成功。\n");
	return s;	
}


//錄入
int Enter_SStrin(HString *s)
{char x;
int len;
printf("請(qǐng)輸入字符串長度和元素:");
scanf("%d %c",&len,&x); 
s->ch=(char *) malloc ( len );
while(x!='#')
{
	s->ch[s->len] = x;	
	s->len=s->len+1;  
	scanf(" %c",&x);
}
printf("錄入完成。\n");
	return 1;			/*入隊(duì)成功,函數(shù)返回1*/
}

//遍歷 
void Printf(HString *s)
{int i;
for(i=0;i<s->len;i++)
{printf("%c",s->ch[i]);
}
printf("\n");
}


//插入 
int StrInsert(HString *s,HString t) /* 在串s中序號(hào)為pos的字符之前插入串t */
{
int i,pos;
char *temp;
printf("請(qǐng)輸入插入位置:");
scanf("%d",&pos); 
if (pos<0 || pos>s->len || s->len==0) return(0);
temp=(char *)malloc(s->len + t.len);
if (temp==NULL) return(0);
for (i=0;i<pos;i++) temp[i]=s->ch[i];
for (i=0;i<t.len;i++) temp[i+pos]=t.ch[i];
for (i=pos;i<s->len;i++) temp[i + t.len]=s->ch[i];
s->len+=t.len;
free(s->ch);s->ch=temp;
printf("插入成功\n");
return(1);
} 


//串刪除函數(shù)
int StrDelete(HString *s) /* 在串s中刪除從序號(hào)pos起的len個(gè)字符 */
{
int i,pos,len;
char *temp;
printf("請(qǐng)輸入刪除位置和個(gè)數(shù):");
scanf("%d %d",&pos,&len); 
if (pos<0 || pos>(s->len - len)) return(0);
temp=(char *)malloc(s->len - len);
if (temp==NULL) return(0);
for (i=0;i<pos;i++) temp[i]=s->ch[i];
for (i=pos;i<s->len - len;i++) temp[i]=s->ch[i+len];
s->len=s->len-len;
free(s->ch);s->ch=temp;
printf("刪除成功\n");
return(1);
} 

//串復(fù)制函數(shù) 
int StrCopy(HString *s,HString t) /* 將串t的值復(fù)制到串s中 */
{
int i;
s->ch=(char *)malloc(t.len);
if (s->ch==NULL) return(0);
for (i=0;i<t.len;i++) s->ch[i]=t.ch[i];
s->len=t.len;
printf("復(fù)制完成。\n");
return(1);
} 


//判空函數(shù)
int StrEmpty(HString s) /* 若串s為空(即串長為0),則返回1,否則返回0 */
{
if (s.len==0) {
	printf("堆串為空。\n");
	return(1);
}
else 
printf("堆串不為空。\n");
return(0);
} 

//串比較函數(shù)
int StrCompare(HString s,HString t) /* 若串s和t相等, 則返回0; 若s>t, 則返回1; 若s<t, 則返回-1 */
{
int i;
for (i=0;i<s.len&&i<t.len;i++)  
    if (s.ch[i]!=t.ch[i]) 
	{
    if(s.ch[i]- t.ch[i]==0)
	printf("串s和t相等。\n");
	if(s.ch[i]- t.ch[i]>0)
	printf("串s大于t。\n");
	if(s.ch[i]- t.ch[i]<0)
	printf("串s小于t。\n");
		return(s.ch[i] - t.ch[i]);
	}
	if(s.len - t.len==0)
printf("串s和t相等。\n");
if(s.len - t.len>0)
printf("串s大于t。\n");
if(s.len - t.len<0)
printf("串s小于t。\n");	  	
return(s.len - t.len);
} 


//求串長函數(shù)
int StrLength(HString s) /* 返回串s的長度 */
{printf("串長為:%d\n",s.len);
return(s.len);
} 

//清空函數(shù) 
int StrClear(HString *s) /* 將串s置為空串 */
{
if (s->ch!=NULL) free(s->ch);
s->ch=NULL;
s->len=0;
printf("清空完成。\n");
return(1);
} 


//連接函數(shù)
int StrCat(HString *s,HString t) /* 將串t連接在串s的后面 */
{
int i;
char *temp;
temp=(char *)malloc(s->len + t.len);
if (temp==NULL) return(0);
for (i=0;i<s->len;i++)
    temp[i]=s->ch[i];
for (i=s->len;i<s->len + t.len;i++) 
    temp[i]=t.ch[i-s->len];
s->len+=t.len;
free(s->ch);s->ch=temp;
printf("連接完成。\n");
return(1);
} 

//求子串函數(shù)
HString *SubString(HString s) /* 將串s中序號(hào)pos起的len個(gè)字符復(fù)制到sub中 */
{
int i,pos,len;
HString *sub;	
	sub = (HString *) malloc ( sizeof( HString ) );
 	sub->len=0;
 	sub->ch=NULL;
printf("請(qǐng)輸入子串起始位置,和子串長度:");
scanf("%d %d",&pos,&len); 
if (sub->ch!=NULL) free(sub->ch);
if (pos<0 || pos>s.len || len<1 || len>s.len-pos) 
   { sub->ch=NULL;
   sub->len=0;
   printf("子串位置不合法。\n");
   return(0);} 
else { 
   sub->ch=(char *)malloc(len); 
   if (sub->ch==NULL) return(0); 
   for (i=0;i<len;i++) 
   sub->ch[i]=s.ch[i+pos]; 
   sub->len=len;  
   printf("截取子串成功。\n");
   return(sub); 
   }
} 

//定位函數(shù) 
int StrIndex(HString s,HString t) /* 求串t在串s中的位置 */
{
int i, j,pos;
printf("請(qǐng)輸入在第幾個(gè)元素之后進(jìn)行查找:");
scanf("%d",&pos);
if (s.len==0 || t.len==0) 
{printf("s或t不存在。\n");
	return(0);
}
i=pos;j=0;
while (i<s.len && j<t.len)
   { if (s.ch[i]==t.ch[j]) 
     {
       i++;j++;
       } 
    else {
       i=i-j+1;j=0;
       }
    }
if (j>=t.len) 
{printf("串t首在s中的位置為:%d\n",i-j);
	return(i-j);
}
else 
printf("未在s中找到t。\n"); 
return(0);
} 

  void menu()
{
printf("--------1.初始化s------\n"); 
printf("--------2.初始化t------\n"); 
printf("--------3.錄入s--------\n"); 
printf("--------4.錄入t--------\n"); 
printf("--------5.插入---------\n"); 
printf("--------6.刪除---------\n"); 
printf("--------7.判空---------\n"); 
printf("--------8.復(fù)制---------\n"); 
printf("--------9.比較---------\n"); 
printf("--------10.求長度------\n"); 
printf("--------11.清空--------\n"); 
printf("--------12.連接--------\n"); 
printf("--------13.求子串sub---\n"); 
printf("--------14.定位-------\n");
printf("--------15.遍歷s-------\n"); 
printf("--------16.遍歷t-------\n"); 
printf("--------17.遍歷sub-----\n"); 
printf("--------18.退出程序----\n");
}

int main()
{HString *s,*t,*sub;
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,a,quit=0;
menu();
while(1)
{
scanf("%d",&a);
switch(a)
{
case 1:s=Init_HString( );break;
case 2:t=Init_HString( );break;
case 3:n1=Enter_SStrin(s);break;
case 4:n2=Enter_SStrin(t);break;
case 5:n3=StrInsert(s,*t);break;
case 6:n4=StrDelete(s);break;
case 7:n5=StrEmpty(*s);break;
case 8:n6=StrCopy(s,*t);break;
case 9:n7=StrCompare(*s,*t) ;break;
case 10:n8=StrLength(*s);break;
case 11:n9=StrClear(s);break;
case 12:n10=StrCat(s,*t);break;
case 13:sub=SubString(*s);break;
case 14:n11=StrIndex(*s,*t);break;
case 15:Printf(s);break;
case 16:Printf(t);break;
case 17:Printf(sub);break;
case 18:quit=1;break;
default:printf("輸入1~18之間的數(shù)字\n");break;
}
if(quit==1)
{break;
}
}
return 0;
 } 

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)(超詳細(xì)講解!!)第十八節(jié) 串(堆串)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【第十八節(jié):微信小程序 常用功能-登錄】微信小程序入門,以思維導(dǎo)圖的方式展開18

    【第十八節(jié):微信小程序 常用功能-登錄】微信小程序入門,以思維導(dǎo)圖的方式展開18

    若圖片看不清,可私信給五木大大要高清大圖哈。 ?? ? 效果 ?? ??? ? ?? ? wxml頁面 ?? ??? ?view class=\\\"login-container\\\"nn?? ?view class=\\\"login\\\" wx:if=\\\"{{ !logged }}\\\"nn?? ??? ?view class=\\\"app-info\\\"nn?? ??? ??? ?image class=\\\"app-logo\\\" src=\\\"../../images/logo.png\\\" /nn?? ??? ??? ?text class

    2024年01月17日
    瀏覽(18)
  • 【數(shù)據(jù)結(jié)構(gòu)】順序表 | 詳細(xì)講解

    【數(shù)據(jù)結(jié)構(gòu)】順序表 | 詳細(xì)講解

    在計(jì)算機(jī)中主要有兩種基本的存儲(chǔ)結(jié)構(gòu)用于存放線性表:順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。本篇文章介紹采用順序存儲(chǔ)的結(jié)構(gòu)實(shí)現(xiàn)線性表的存儲(chǔ)。 線性表的順序存儲(chǔ)結(jié)構(gòu),指的是一段地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)鏈性表的數(shù)據(jù)元素。 線性表的(,……)的順序存儲(chǔ)示意圖如下

    2024年02月04日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)】單鏈表 | 詳細(xì)講解

    【數(shù)據(jù)結(jié)構(gòu)】單鏈表 | 詳細(xì)講解

    無須為了表示中間的元素之間的邏輯關(guān)系而增加額外的存儲(chǔ)空間; 因?yàn)橐詳?shù)組形式存儲(chǔ),可以快速地存取表中任一位置的元素。 插入和刪除操作需要移動(dòng)大量元素,時(shí)間復(fù)雜度為O(N); 當(dāng)線性表長度變化較大時(shí),難以確定存儲(chǔ)空間的容量; 造成存儲(chǔ)空間的“碎片”。 其實(shí)順

    2024年02月05日
    瀏覽(24)
  • 【數(shù)據(jù)結(jié)構(gòu)】快排的詳細(xì)講解

    【數(shù)據(jù)結(jié)構(gòu)】快排的詳細(xì)講解

    江河入海,知識(shí)涌動(dòng),這是我參與江海計(jì)劃的第7篇。 目錄: ? ? ? ? 快排是排序算法中效率是比較高的,快排的基本思想是運(yùn)用二分思想,與二叉樹的前序遍歷類似,將數(shù)據(jù)劃分,每次劃分確定1個(gè)基準(zhǔn)值(就是已經(jīng)確定好有序后位置的數(shù)據(jù)),以升序?yàn)槔鶞?zhǔn)值左面的數(shù)據(jù)

    2024年02月06日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu):棧和隊(duì)列(詳細(xì)講解)

    數(shù)據(jù)結(jié)構(gòu):棧和隊(duì)列(詳細(xì)講解)

    ??????作者: @小魚不會(huì)騎車 ??????專欄: 《數(shù)據(jù)結(jié)構(gòu)》 ??????個(gè)人簡介: 一名??拼笠辉谧x的小比特,努力學(xué)習(xí)編程是我唯一的出路?????? 棧 :一種特殊的線性表,其只允許在固定的一端進(jìn)行插入和刪除元素操作。進(jìn)行數(shù)據(jù)插入和刪除操作的一端稱為 棧頂 ,另

    2024年02月03日
    瀏覽(20)
  • 《數(shù)據(jù)結(jié)構(gòu)》八大排序(詳細(xì)圖文分析講解)

    《數(shù)據(jù)結(jié)構(gòu)》八大排序(詳細(xì)圖文分析講解)

    目錄 排序 排序的應(yīng)用? ? ?? 排序簡介 排序的分類 排序算法的好壞評(píng)判 冒泡排序法? 思路分析 代碼實(shí)現(xiàn)? ?選擇排序法 思路分析 代碼實(shí)現(xiàn)? ?插入排序 思路分析 代碼實(shí)現(xiàn)? 希爾排序 思路分析 代碼演示? 歸并排序法? 思路分析 代碼演示? 快速排序? 思路分析 代碼實(shí)現(xiàn)?

    2024年02月03日
    瀏覽(45)
  • 【數(shù)據(jù)結(jié)構(gòu)初階】——第八節(jié).優(yōu)先級(jí)隊(duì)列(小根堆的模擬實(shí)現(xiàn))

    【數(shù)據(jù)結(jié)構(gòu)初階】——第八節(jié).優(yōu)先級(jí)隊(duì)列(小根堆的模擬實(shí)現(xiàn))

    ?作者簡介:大家好,我是未央; 博客首頁: 未央.303 系列專欄:Java初階數(shù)據(jù)結(jié)構(gòu) 每日一句:人的一生,可以有所作為的時(shí)機(jī)只有一次,那就是現(xiàn)在?。?! 目錄 文章目錄 前言 引言 一、堆的概念 二、堆的性質(zhì)? 三、堆的操作 3.1 向下調(diào)整算法 3.2?小根堆的創(chuàng)建 3.3?向上調(diào)整

    2024年02月07日
    瀏覽(31)
  • C++數(shù)據(jù)封裝以及定義結(jié)構(gòu)的詳細(xì)講解鴨~

    名字:阿玥的小東東 ? 博客主頁:阿玥的小東東的博客_CSDN博客-pythonc++高級(jí)知識(shí),過年必備,C/C++知識(shí)講解領(lǐng)域博主 目錄 定義結(jié)構(gòu) 訪問結(jié)構(gòu)成員 結(jié)構(gòu)作為函數(shù)參數(shù)

    2024年02月04日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu)進(jìn)階篇 之【選擇排序】詳細(xì)講解(選擇排序,堆排序)

    數(shù)據(jù)結(jié)構(gòu)進(jìn)階篇 之【選擇排序】詳細(xì)講解(選擇排序,堆排序)

    民以食為天,我以樂為先 嘴上來的噓寒問暖,不如直接打筆巨款 1.1 基本思想 1.2 實(shí)現(xiàn)原理 1.3 代碼實(shí)現(xiàn) 1.4 直接選擇排序的特性總結(jié) 跳轉(zhuǎn)鏈接:數(shù)據(jù)結(jié)構(gòu) 之 堆的應(yīng)用 –?–?–?–?–?–?–?–?–?–?–?–?–?–?–?-正文開始-?–?–?–?–?–?–?

    2024年04月09日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)進(jìn)階篇 之 【插入排序】詳細(xì)講解(直接插入排序,希爾排序)

    數(shù)據(jù)結(jié)構(gòu)進(jìn)階篇 之 【插入排序】詳細(xì)講解(直接插入排序,希爾排序)

    千萬不要因?yàn)橐患虏粫?huì)做而失去信心,你又不是只有這一件事不會(huì),你還有很多呢 1.1 基本思想 1.2 實(shí)現(xiàn)原理 1.3 代碼實(shí)現(xiàn) 1.4 直接插入排序的特性總結(jié) 2.1 基本思想 2.2 實(shí)現(xiàn)原理 2.3 代碼實(shí)現(xiàn) 2.4希爾排序的特性總結(jié) –?–?–?–?–?–?–?–?–?–?–?–?–?–

    2024年04月12日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包