字串處理
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指向隊尾元...