随笔分类 -  数据结构

摘要:1 #include 2 #include 3 4 #define PERR printf("FILE: %s, FUNCTION: %s, LINE: %d\n",\ 5 __FILE__, __func__, __LINE__) 6 7 struct Tnode 8 { 9 struct Tnode *next; 10 int value; 11 }; 12 13 void Del_Repeat_Node(struct Tnode **head) 14 { 15 ... 阅读全文
posted @ 2013-12-24 17:12 夕相待 阅读(515) 评论(0) 推荐(0)
摘要:顺序存储表示是将数据元素存放于一个连续的存储空间中,实现顺序存取或(按下标)直接存取。它的存储效率高,存取速度快。但它的空间大小一经定义,在程序整个运行期间不会发生改变,因此,不易扩充。同时,由于在插入或删除时,为保持原有次序(没有规定元素进栈顺序),平均需要移动一半(或近一半)元素,修改效率不高。链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,且只要存储器中还有空间,就不会产生存储溢出的问题。同时在插入和删除时不需要保持数据元素原来的物理顺序,只需要保持原来的逻辑顺序,因此不必移动数据,只需修改它们的链接指针,修改效率较高。但存取表中的数据元素时,只能循链顺序访问,因此存取效率不 阅读全文
posted @ 2013-12-24 11:18 夕相待 阅读(5054) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 5 6 #define STACK_SIZE 100 //存储空间个数 7 8 #define Test(arg) if(NULL == arg){\ 9 printf("Invalid arg......\n");\ 10 return -1;\ 11 } 12 13 /********用户进程存储区虚拟内存栈的特性************** 14 *虚拟内存栈的空间有限大小(固定,32位系统一般12M左右) ... 阅读全文
posted @ 2013-08-07 22:33 夕相待 阅读(465) 评论(0) 推荐(0)
摘要:1#define ARGLEN 50 2 3 #define Test(ARG) if(ARG == NULL){\ 4 printf("Invalid arg.......\n");\ 5 return -1;\ 6 } 7 8 //队列任务节点 9 typedef struct node 10 { 11 char arg[ARGLEN+1]; //任务参数 12 void (* pfun)(char *); //任务处理函数 13 stru... 阅读全文
posted @ 2013-08-07 12:27 夕相待 阅读(758) 评论(0) 推荐(0)
摘要:1 define NAME_LEN 20 //名字最大长度 2 3 //函数入口检测(宏) 4 #define TEST(arg) if(arg == NULL){\ 5 printf("Invalid arg..................\n");\ 6 return -1;\ 7 } 8 9 typedef enum sex//性别封装 10 { 11 b , //男 12 g , //女 13 }E_SEX; 14 15 typedef struct stu_info/... 阅读全文
posted @ 2013-08-05 15:59 夕相待 阅读(381) 评论(0) 推荐(0)
摘要:1 /**************************头文件***************************/ 2 3 #ifndef _LINK_H_ 4 #define _LINK_H_ 5 6 #include 7 #include 8 #include 9 10 11 #define Test(arg) if(arg == NULL){\ 12 printf("Invalid arg!\n");\ 13 return -1;\ 14 } 15 16 /*单链表的实现可以各有不同,只要该实现,符... 阅读全文
posted @ 2013-08-02 15:24 夕相待 阅读(595) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 5 6 #define Test(arg) if(arg == NULL){\ 7 printf("Invalid arg!\n");\ 8 return -1;\ 9 } 10 11 /*单链表的实现可以各有不同,只要该实现,符合链表的定义即可。 12 *单链表最重要的数据结构是元素结点, 13 *最重要的操作是插入结点,删除结点和遍历。 14 *其它的操作基本上是这3个操作的组合,依据具体的要求而定。 15 */ 16 17 /***... 阅读全文
posted @ 2013-08-02 12:56 夕相待 阅读(362) 评论(0) 推荐(0)
摘要:/**********************头文件数据封装及函数声明****************/#ifndef _S_LIST_H#define _S_LIST_H#include #include #define PRINT printf("LINE: %d\n", __LINE__);/*单链表的实现可以各有不同,只要该实现,符合链表的定义即可。 *单链表最重要的数据结构是元素结点, *最重要的操作是插入结点,删除结点和遍历。 *其它的操作基本上是这3个操作的组合,依据具体的要求而定。*//****************************... 阅读全文
posted @ 2013-08-01 20:22 夕相待 阅读(742) 评论(0) 推荐(0)