原创 編程練習3

一、編寫函數void count(char a[],char w[][10],int n,int b[])。功能是:統計w指向的數組中的n個單詞在a指向的字符串中各自出現的次數(將非字母字符看作單詞分割符),擰將統計結果依次保存在

原创 C++通訊錄(基礎版本)

#include <iostream> #include <stdio.h> #include <stdio_ext.h> #include <stdlib.h> #include <string> #include <unist

原创 C語言通訊錄(利用數組實現)

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> int i = 0;

原创 數據結構——順序表

頭文件: #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #define FALSE -1 #define TRUE 0 #define INIT_SIZE 100 #d

原创 數據結構——鏈表(頭結點循環鏈表)

頭文件: #ifndef __LINKLIST_H__ #define __LINKLIST_H__ #define FALSE 0 #define TRUE 1 typedef int LinkData; typedef

原创 數據結構——順序棧

頭文件: #ifndef __SQSTACK_H__ #define __SQSTACK_H__ #include "error.h" #define TRUE 1 #define FALSE 0 #define SIZE

原创 數據結構——鏈表(頭指針、頭結點)

頭指針鏈表: #include <stdio.h> #include <stdlib.h> #define TRUE 1 #define FALSE 0 typedef int LinkData; // 鏈表的數

原创 排序(二)插入排序、插入改進——二分插入排序、插入改進——希爾排序

4、插入排序 插入排序是一種簡單直觀的排序算法。它的工作原理非常類似於我們抓撲克牌。 對於未排序數據(右手抓到的牌),在已排序序列(左手已經排好序的手牌)中從後向前掃描,找到相應位置並插入。 插入排序在實現上,通常採用in-pl

原创 排序(三)堆排序、歸併排序、快速排序

7、堆排序 堆排序是指利用堆這種數據結構所設計的一種排序算法。堆是一個近似完全二叉樹的結構(通常堆是通過一維數組來實現的),並同時滿足堆的性質:即子結點的鍵值總是小於(或者大於)它的父節點。 我們可以很容易的定義堆排序的過程:

原创 C語言通訊錄(利用鏈表實現)

頭文件: #ifndef _STRUCT_H_ #define _STRUCT_H_ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <un

原创 字符串練習

1,統計一個字符串中個字符的百分比: 如輸入字符串asdfs a —– 20% s —– 40% d —–20% f —–20% #include <stdio.h> #include <string.h> v

原创 數據結構——鏈式棧

頭文件: #ifndef __LINKSTACK_H__ #define __LINKSTACK_H__ #include "error.h" #define FALSE 0 #define TRUE 1 typedef i

原创 排序(一)冒泡排序、冒泡改進——雞尾酒排序、選擇排序

1、冒泡排序 冒泡排序是一種極其簡單的排序算法,也是我所學的第一個排序算法。它重複地走訪過要排序的元素,依次比較相鄰兩個元素,如果他們的順序錯誤就把他們調換過來,直到沒有元素再需要交換,排序完成。這個算法的名字由來是因爲越小(或

原创 數據結構——鏈式隊列

頭文件: #ifndef __LINKQUEUE_H__ #define __LINKQUEUE_H__ #include "error.h" #define TRUE 1 #define FALSE 0 typedef i

原创 數據結構——樹

頭文件: #ifndef __TREE_H__ #define __TREE_H__ #include "error.h" struct _treeNode; // 孩子結點鏈表的類型 typedef struct _chi