資料結構 二

2021-05-24 23:07:02 字數 3263 閱讀 4601

字串處理

strlen()用來計算字元的長度,並不包括結束字元'/0',空字元長度為0

1 #include

2 3 int strlen(char string)

4 10 int main()

11 strcpy(char str1,char str2)用來拷貝字串,把str2每個字元都拷貝到str1中,直到結束符'/0'

1 #include

2 #include

3 char *strcpy(char *str2,char *str1)

4 11     str2[i] = '/0';

12     */

13     for(i=0;i<10;i++)

14    

18     str2[i] = '/0';

19     return str2;

20 }

21 int main()

22 strcat(char str1,char str2)字串連線,把str1結束符去掉,然後把str2連線到str1處,組成新的字串。

1 #include

2 3 char *strcat(char *str1,char *str2)

4 12 int main()

13 strrep(char *str1,char *str2,int num)從str1找到num的位置,用str2字元來替換從這個位置開始後面的內容

#include

3 char *strrep(char *str1,char *str2,int num)

4 14                 else

15                         break;

16         return str1;

17 18 

19 }

20 int main()

21 十進位制轉十六進製制

輸入乙個數,除以16所得的商如》16話繼續除,直到商<16,然後取商和它餘數

1 #include

2 3 void ****o16_(int num_)

4 15     else

16    

26     }

27 }

strdel(char str,int top,int len)把從top位置開始處長度為len的子串刪除

找到刪除的子串末端str[top+len],把這個位置開始後面字元移動top開始的位置,反覆此操作

char *strlen(char str,in totp,int len)

int i;

for(i=top+len,str[i]='/0';i++)

str[i-len]=str[i];

str[i-len] = '/0';

return str;

substr(char str,int top,int len)提取從top開始處長度len的str子串

1 #include

2 3 char *substr(char str,int top,int len)

4 12 int main()

13 strlen_sub(char str1,char str2),str1,str2最長公共子串

1 #include

2 #include

3 #include

4 5 char *commanstring(char shortstring, char longstring)

6 20                 }

21                 return null;

22 }

23 24 main()

25 16     }

17     for(i=0;i18             printf("%d/n",str[i]);

19 }

20 int main()

21 ;

23     int num=6;

24     sort(str,num);

25 }   

快速排序

設定乙個標識數povit,把i指向左邊開始處,從左往右搜尋比poivt大的值,把j指右邊開始處,從右往左搜尋比poivt小的

值,若ij,則把j當前指向的值與poivt交換,

因為povit比str[j]要大。這時j指向的當為中間值,把陣列分割成兩半,遞迴呼叫排序左半邊值和右半邊值。

quicksort(int list ,int left,int right,int index)

int i,j,k;

int pivot,tmp;

i =left;j = right+1;

pivot = list[left];

if(idowhile(list[i]<=pivot&&i<=right);

dowhile(list[i]>=pivot&&i>=right);

if(itmp=list[i];

list[i] = list[j];

list[j] = tmp;

}while(itmp=list[left];

list[left]= list[j];

list[j] = tmp;

quicksort(list ,left,j-1,index);

quicksort(list ,j+1,right,index)

內部排序法

是從欲排序的資料中,選出第乙個數為預最小的,然後與後面的數比較,若比這個數比預最小數還小,則把該數設定為最小

數.最後把最數與第乙個數交換,再找次小數。

1.選擇排序

1 #include

2 #include

3 void selectsort(int str,int num)

4 18         }

19                 tmp= str[i];      //把第乙個數與找出來的最小數交換

20                 str[i] = str[k];

21                 str[k] = tmp;

22     }

23     for(a=0;a24             printf("%d/n",str[a]);

25 26 }

27 int main()

28 ;

30     int num = 10;

31     selectsort(str,num);

32 }  

資料結構(二)

1.順序表和煉表綜合 在遞增有序的順序表中程式設計實現a a b c typedef intelemtype include sqlist.h 即為資料結構 一 順序表部分 include int main else continue else continue output mylist1 sys...

資料結構 (二)

第四章 樹和二叉樹 1 對於具有層次結構的資料需要用樹形結構來描述。2 樹形結構中乙個結點可以有乙個或多個直接後繼。3 樹是n個結點的有限集合,滿足 當n 0時,稱為空樹 當n 0時,有且僅有乙個稱為根的結點,除根結點外,其餘結點分為m m 0 個互不相交的非空集合,這些集合中的每乙個都是一棵樹,稱...

資料結構二

在資料結構一中,我們已經說過了線性表 棧等資料結構。已經對資料結構有了一些初步的了解,那麼我們在這裡在說一說關於佇列和雜湊表的用法。一 佇列 1 定義 佇列是另一種特殊的線性表,它和棧不同,它是允許在一段進行插入,在另一端進行刪除的線性表。允許插入的一頭稱為隊尾,通常用乙個隊尾指標tail指向隊尾元...