
数据结构
Michael-H
技术改变世界
展开
-
socket编程 实现服务端与客户端的通讯
服务器端程序:[cpp] view plaincopy// Server.cpp : Defines the entry point for the console application. // #include "winsock2.h" #pragma comment(lib, "ws2_32.lib转载 2014-11-26 09:27:44 · 694 阅读 · 0 评论 -
链表的操作(纯C语言版)
[cpp] view plain copy print?#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "time.h" #define OK (1) #define ERROR (0) #define TRUE (1)转载 2016-05-06 09:24:04 · 503 阅读 · 0 评论 -
链表排序——选择排序法(纯C语言版)
[cpp] view plain copy print?/********************************* 链表的排序 *******************************************/ /* ========================== 功能:选择排序(由小到大) 返回:指向链表表头的指针转载 2016-05-06 09:23:12 · 15839 阅读 · 3 评论 -
链表排序——插入排序(纯C语言版)
[cpp] view plain copy print?/* ========================== 功能:直接插入排序(由小到大) 返回:指向链表表 头的指针 ========================== */ /* 直接插入排序的基本思想就是假设链表的前面n-1个节点是已经按键值 (就是用它排序的字转载 2016-05-06 09:22:43 · 2480 阅读 · 0 评论 -
数据结构之简单链表(尾部插入数据)
#include#include #include typedef struct node { char key[255]; struct node *Next; }Node; void Insert(char *string,Node *head) { Node *L = NULL; Node *p = NULL;转载 2016-05-06 09:20:04 · 4103 阅读 · 0 评论 -
删除单向链表中的某一个节点
已知一个单向链表的表头head,写出一个删除某一个节点的算法,要求先找到此节点,然后删除。[cpp] view plain copy#include using namespace std; typedef struct node { int number; struct node *next; }转载 2016-05-06 09:19:12 · 2471 阅读 · 0 评论 -
malloc()与calloc区别
1.分配内存空间函数malloc 调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”是一个无符号数。例如: pc=(char *) malloc (100); 表示分配100转载 2015-11-25 11:02:12 · 305 阅读 · 0 评论 -
常用链表排序算法
转载自:http://blog.youkuaiyun.com/northplayboy/article/details/552388 ========================== 功能:选择排序(由小到大) 返回:指向链表表头的指针==========================*//* 选择排序的基本思想就是反复从还未排好序的那些节点中, 选出键值(就是转载 2015-06-08 11:40:20 · 4198 阅读 · 0 评论 -
一步一步写算法(之链表排序)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 原创 http://blog.youkuaiyun.com/feixiaoxing/article/details/6905260/ 相比较线性表的排序而言,链表排序的内容稍微麻烦一点。一方面,你要考虑数据插入的步骤;另外一方面你也要对指针有所顾虑。要是有一步的内容错了,那么操作系转载 2015-06-08 10:51:50 · 411 阅读 · 0 评论 -
链表的冒泡排序
为了练习一下链表的使用,写了个链表的冒泡排序。冒泡排序,在每次遍历的每个链表数据中找出数据最小或最大的节点和原始链表数据的头节点交换, 交换的过程中要用到,待交换头节点和最大或最小节点的前驱节点。 还要注意带头节点第一个冒泡上来的数和头节点的交换。还要注意头节点就是最小节点的前驱节点的情况。// LinkListSort.cpp : 定义控制台应用程序的入口点。//#include转载 2015-06-08 11:20:31 · 515 阅读 · 0 评论 -
平衡二叉树 构造方法
平衡二叉树对于二叉查找树,尽管查找、插入及删除操作的平均运行时间为O(logn),但是它们的最差运行时间都是O(n),原因在于对树的形状没有限制。平衡二叉树又称为AVL树,它或者是一棵空树,或者是有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左右子树的深度之差的绝对值不超过1。二叉树的的平衡因子BF为:该结点的左子树的深度减去它的右子树的深度,则平衡二叉树转载 2015-06-24 09:52:25 · 1213 阅读 · 0 评论 -
排序基础
1. 排序的分类 在介绍有关排序的算法之前,先来介绍与排序相关的基本概念。本节主要介绍排序的基本概念及相关概念。排序:把一个无序的元素序列按照元素的关键字递增或递减排列为有序的序列。稳定排序和不稳定排序:在排列过程中,如果存在两个关键字相等即ki=kj(1≤i≤n,1≤j≤n,i≠j),在排序前对应的元素Ei在Ej之前。内排序和外排序:根据排序过程中,所利用的内存储器和外转载 2014-11-06 11:51:36 · 458 阅读 · 0 评论 -
队列基础
1. 队列的定义 队列是一种特殊的线性表,它包含一个队头(front)和一个队尾(rear),其中队头只允许删除元素,队尾只允许插入元素。队列的特定是先进入队列的元素先出来,即先进先出(FIFO)。出队列时,只有当前面的元素都退出之后,后面的元素才能退出。转载 2014-11-06 11:50:08 · 517 阅读 · 0 评论 -
栈的基础
1. 栈的基础 栈,也成为堆栈,是一种重要的线性结构。栈具有线性表的特点:每一个元素只有一个前驱元素和后继元素(除了第一个元素和最后一个元素外),但是在操作上与线性表不同,栈是一种操作受限的线性表,只允许在栈的一端进行插入和删除操作。栈可以用顺序存储结构和链式存储结构存储,采用顺序存储结构的栈称为顺序栈,采用链式存储结构的栈称为链式栈。栈的应用十分广泛,在表达式求值、括号匹配时常用到栈转载 2014-11-06 11:50:35 · 488 阅读 · 0 评论 -
UDP协议的两个主要方法sendto和recvfrom详解
sendto()简述: 向一指定目的地发送数据。 #include int PASCAL FAR sendto( SOCKET s, const char FAR* buf, int len, int flags, const struct sockaddr FAR* to, int tolen); s:一个标识套接口的描述字。转载 2014-11-26 10:48:50 · 951 阅读 · 0 评论 -
链队列基本操作
#include//链队列的存储结构#include#define OVERFLOW -2typedef int QElemType;typedef struct QNode{//此处本来没加QNode,错误爆出???为何??? QElemType data; struct QNode *next;}QNode,*QueuePtr;typedef struct{ QueuePtr转载 2014-11-26 08:54:51 · 576 阅读 · 0 评论 -
循环队列基本操作
#include//循环队列的存储结构#include#define OVERFLOW -2#define maxqsize 100typedef int QElemType;typedef struct { QElemType *base; int front; int rear;}SqQueue;void InitQueue(SqQueue *Q){//构造一个空队列Q转载 2014-11-26 08:53:47 · 829 阅读 · 0 评论 -
linux c学习笔记----UDP基础客户/服务编程(sendto,recvfrom)
sendto(经socket传送数据)相关函数send , sendmsg,recv , recvfrom , socket表头文件#include #include 定义函数int sendto ( int s , const void * msg, int len, unsigned int flags, const struct s转载 2014-11-26 09:52:16 · 835 阅读 · 0 评论 -
单链表实现冒泡排序
[cpp] view plain copy print?/************************************************************************/ /* 用单链表实现冒泡排序,输入为0-9的数字字符 */ /***************转载 2016-05-06 10:00:30 · 1039 阅读 · 0 评论