数据结构
文章平均质量分 63
唐华春
这个作者很懒,什么都没留下…
展开
-
数据结构之顺序栈的操作(C语言)
#include #include #include #define MAXLEN 50typedef struct { char name[10]; int age;}DATA;typedef struct stack { DATA date[MAXLEN+1]; int top;}StackType;//栈的初始化StackType *STInit(){原创 2012-03-06 15:34:38 · 3051 阅读 · 2 评论 -
数据结构之顺序队列的操作(C语言)
#include #include #include #define QUEUELEN 15//数据结构的定义typedef struct { char name[10]; int age;}DATA;typedef struct { DATA data[QUEUELEN]; int head; int tail;}SQType;//队列的初始化SQType原创 2012-03-13 15:07:45 · 2536 阅读 · 0 评论 -
数据结构之插入排序的实现(C语言版)
#include #include #include #define SIZE 10void InsertionSort(int *a,int len){ int i,j,t,h; for (i=1;i<len;i++) { t=a[i];//把要插入的元素赋值给t j=i-1; while (j>=0&&t<=a[j]) { a[j+1]=a[原创 2012-04-05 13:56:48 · 1568 阅读 · 0 评论 -
数据结构之希尔排序(C语言)
#include #include #include #define SIZE 10void ShellSort(int *a,int len){ int i,j,h; int r,temp; int x=0; for (r=len/2;r>=1;r/=2)//先取n/2个序列,再取n/4个序列,n/8个序列。。。 { for (i=r;i<len;i++) {原创 2012-04-05 15:38:05 · 2640 阅读 · 0 评论 -
数据结构之十进制转二进制(C语言)
#include #include int _to_2(int n){ if (n!=0) { _to_2(n/2); printf("%d",n%2); }}int main(){ int n; scanf("%d",&n); _to_2(n); return 0;}采用动态规划的思想,n的二进制数取决于n/2的二进制数,如此形原创 2012-04-06 18:19:31 · 4396 阅读 · 0 评论 -
数据结构之快速排序(C语言)
快速排序采用了分治算法的思想,排序的关键点在找出分割点,使左边的数都比其小,右边的数都比其大,在分别对左右排序。快速排序的思想可以参考下面的视频:舞动的排序,快速排序。下面给出我的源代码:#include #include int partition(int *a,int left,int right){ int base; int position;//记录分割位置 base原创 2012-04-06 14:07:16 · 2638 阅读 · 0 评论 -
数据结构之冒泡排序的实现(C语言)
#include void BubbleSort(int *a, int len){ int count,i,j,temp; for (count=0;count<len-1;count++)//总共要进行len-1步排序 { for (i=len-1;i>count;i--)//不断比较和交换相邻的两个数 { if (a[i]<a[i-1])原创 2012-04-15 09:02:19 · 2464 阅读 · 0 评论 -
栈的应用——括号匹配的检验(C语言)
这个应用来自于严蔚敏的《数据结构(C语言版)》,即这本书上的第49页。大致要实现的功能如下:假设表达式中允许包括两种括号:圆括号和方括号,其嵌套的顺序随意,即(【】())或【(【】【】)】等为正确的格式,【(】)或(【())等均为不正确格式。在设计程序的时候,借助于栈,将每个元素遍历一遍,根据一定的条件来确定是出栈还是入栈,如果最后栈为空,则括号是匹配的,否则不会匹配。实现的代码如下:原创 2012-04-17 19:31:24 · 20479 阅读 · 1 评论 -
数据结构之选择排序的实现(C语言)
#include void BubbleSort(int *a, int len){ int count,i,j,min_temp,temp_int; for (count=0;count<len-1;count++)//总共要进行len-1步排序 { //每一次都要找到剩下的元素的最小元素,并将它放在剩下元素的开始位置 min_temp=count; for (i=coun原创 2012-04-15 12:51:46 · 4807 阅读 · 0 评论