![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
爱思考的实践者
我的到来,让世界变得更好。My coming makes this world a better place to live in.
展开
-
冒泡、选择和快速排序算法的C++实现
冒泡、选择和快速排序算法的C++实现#include <iostream>using namespace std;void print(int* pData, int count){ for (int i = 0; i< count; i++) { cout << pData[i] << " "; } cout << endl;...原创 2016-02-29 14:31:38 · 4130 阅读 · 0 评论 -
数据结构示例之用数组实现圆形队列
以下为“使用数组实现圆形队列”的简单示例1. 用c语言实现的版本#include#include#define QueueSize 10 /* 假定预分配的队列空间最多为10个元素 */ typedef int DataType;/* 假定队列元素的数据类型为整型 */typedef struct { DataType data[QueueSize]; int fron原创 2016-10-29 17:09:30 · 1677 阅读 · 0 评论 -
数据结构示例之用数组顺序队列
以下为顺序队列的简单实现,由于顺序队列存在两大问题,其一为“假溢出”问题,其二为判断队列是否已满和为空时出现矛盾,因此在实际应用中,一般不使用顺序队列,而是使用圆形队列。1. 用c语言实现的版本为#include#include#define QueueSize 100 /* 假定预分配的队列空间最多为100个元素 */ typedef int DataType;/* 假定队列原创 2016-10-29 15:49:21 · 738 阅读 · 0 评论 -
数据结构示例之十进制转换其他进制
以下为“十进制数转换为其他进制数”的示例:1. 用c语言实现的版本#include #include #define StackSize 100 /* 假定预分配的栈空间最多为100个元素 */ typedef int DataType; /*假定栈元素的数据类型为整型 */typedef struct{ DataType data[StackSize]; int to原创 2016-10-29 14:58:12 · 5974 阅读 · 2 评论 -
数据结构示例之数组模拟多栈实现
以下为“使用数组实现多个连续栈”的示例:1. 用c语言实现的版本#include#include#define MEMORY_SIZE 100 /* 内存大小 */#define MAX_STACKS 11 /* 栈的个数最大值加1 */typedef char element;element memory[MEMORY_SIZE];int top[MAX_S原创 2016-10-29 14:26:13 · 508 阅读 · 0 评论 -
数据结构示例之用链表实现栈
以下是“使用链表实现栈”的简单示例:1. 用c语言实现的版本#include#includestruct s_node{ int data; struct s_node *next;};typedef struct s_node* pNode;pNode stack = NULL;int pCount = 0;/* 打印栈的内容 */void print_sta原创 2016-10-29 10:44:59 · 2552 阅读 · 0 评论 -
数据结构示例之使用数组实现栈
以下是“使用数组实现栈”的简单示例:1. 用c语言实现的版本#include#include#define MaxSize 10int stack[MaxSize];int top = -1;/* 入栈 */void push(int value){ int i; if (top >= MaxSize-1) { printf("\nThe stack is fu原创 2016-10-28 21:57:01 · 1527 阅读 · 0 评论 -
数据结构示例之连接字符串
以下为“连接字符串”的简单示例1. 用c语言实现的版本#include #include #define MAXLENGTH 128/* 连接字符串 */void catstr(char *dest, char *sour){ int destLength = strlen(dest); int srcLength = strlen(sour); int i = 0,原创 2016-10-27 22:43:37 · 2962 阅读 · 0 评论 -
数据结构示例之查找子字符串的起始位置
以下为“查找子字符串的起始位置”的简单示例1. 用c语言实现的版本#include #include /* 查找子字符串的起始位置 */int nfind(char *strSrc, char *strFind){ int i = 0, j = -1; int lastSrcPos = strlen(strSrc) - 1; //原始字符串的最大下标值 int las原创 2016-10-27 21:45:19 · 2867 阅读 · 0 评论 -
数据结构示例之用链表实现顺序队列
以下为“使用链表实现顺序队列”的简单示例,由于使用数组实现队列时存在“假溢出”问题,建议使用链表方式实现顺序队列:1. 用c语言实现的版本#include#includetypedef int DataType; /* 假定队列元素的数据类型为整型 */typedef struct node{ DataType data; struct node *next;}QueueN原创 2016-10-29 18:04:58 · 528 阅读 · 0 评论 -
数据结构示例之圆形队列模拟舞会
以下为“使用圆形队列模拟舞会”的简单示例:1. 用c语言实现的版本#include#include#include#define MAX_DANCERS 100//最多跳舞人数#define QueueSize 100 //假定预分配的队列空间最多为100个元素 typedef struct { char name[20]; char sex; //性别,'F'表示原创 2016-10-30 08:34:16 · 1016 阅读 · 0 评论 -
数据结构示例之链表头部插入新节点
以下为“链表头部插入新节点”的简单示例:1. 用c语言实现的版本为:#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p;//原创 2016-10-30 09:38:59 · 6235 阅读 · 0 评论 -
数据结构示例之单链表删除元素
以下是”链表删除元素“的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p;/*原创 2016-10-30 18:24:01 · 5876 阅读 · 1 评论 -
数据结构示例之使用链表模拟栈
以下是“使用链表模拟栈”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} stack;stack* m_stack = NULL;/* 创建链表,从表头插入新元素 */void creat(原创 2016-10-30 22:43:55 · 642 阅读 · 0 评论 -
数据结构示例之链表拼接
以下为“链表拼接”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p;/* 创原创 2016-10-30 21:39:41 · 1920 阅读 · 0 评论 -
数据结构示例之链表在指定节点后插入新元素
以下是“链表在指定节点后插入新元素”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode原创 2016-10-30 17:43:06 · 3834 阅读 · 0 评论 -
数据结构示例之查看链表元素是否存在
以下为“查看链表元素是否存在”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p;/*原创 2016-10-30 16:54:02 · 1890 阅读 · 0 评论 -
数据结构示例之由尾部插入新元素的链表
以下为“由尾部插入新元素的链表”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p原创 2016-10-30 15:40:42 · 938 阅读 · 0 评论 -
数据结构示例之构造从头部插入的、指定节点数的链表
以下为“构造指定节点数的链表”的简单示例:1. 用c语言实现的版本#include#includetypedef char datatype;typedef struct node{ datatype data; struct node *next;} listnode;typedef listnode *linklist;listnode *p原创 2016-10-30 14:59:34 · 624 阅读 · 0 评论 -
数据结构示例之带头节点的双向循环链表
以下为“带头节点的双向循环链表”的简单实现:1. 用c语言实现的版本#include /* EOF(=^Z或F6),NULL */#include /* floor(),ceil(),abs() */#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status; /原创 2016-10-30 13:26:02 · 5234 阅读 · 0 评论 -
数据结构示例之字符串替换
以下为“字符串替换”的简单示例:1. 用c语言实现的版本#includechar *strreplace(char *s1, char *s2, int pos){ --pos; int i = 0, j = pos; for ( ; s1[j] != '\0'; ++j) { if (s2[i] != '\0') { s1[j] = s2[i]; ++原创 2016-10-26 22:27:45 · 6753 阅读 · 0 评论 -
数据结构示例之插入子字符串
以下为“插入子字符串”的简单示例:1. 用c语言实现的版本#include #include #include #define MAX_SIZE 100/* 在指定位置后插入字符串 */void insert (char *desStr, char *insertStr, int pos){ char string[MAX_SIZE], *temp =string原创 2016-10-27 17:31:49 · 4290 阅读 · 0 评论 -
数据结构示例之矩阵行列和相等
以下为展示行列和相等的矩阵示例:1.用c语言实现的版本#include #include void main(){ int a[16][16],i,j,n,k; printf("Please input n(1~15,it must be odd.): "); scanf("%d",&n); while(!(n>=1&&n<=15) || n%2==0) { pri原创 2016-10-25 17:35:15 · 4273 阅读 · 0 评论 -
数据结构示例之简单多项式相加
以下为展示简单多项式相加的示例:1.用c语言实现的版本#include #include#define MAX_TERMS 100 /* size of terms array *///定义多项式的节点typedef struct { float coef; //系数 int expon; //指数} polynomial;polynomial te原创 2016-10-26 14:04:39 · 3791 阅读 · 0 评论 -
数据结构示例之顺序数组的实现
以下为展示顺序数组的示例:1.用c语言实现的版本#include /* EOF(=^Z或F6),NULL */#include /* floor(),ceil(),abs() */#include /*申请和释放内存*/#include /*可变参数*/#define OK 1 //成功标志#define ERROR 0 //错误标志#define MAX_ARRAY_原创 2016-10-26 10:58:06 · 840 阅读 · 0 评论 -
数据结构示例之带头节点的双向循环链表
以下是“带头节点的、双向循环链表”的简单实现。1. 用c语言实现的版本#include /* EOF(=^Z或F6),NULL */#include /* floor(),ceil(),abs() */#include /* 申请和释放内存 */#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef原创 2016-11-05 22:59:01 · 1995 阅读 · 0 评论 -
数据结构示例之带头节点的、单循环链表
以下为“带头节点的、单循环链表”的简单示例:1. 用c语言实现的版本#include /* EOF(=^Z或F6),NULL */#include /* floor(),ceil(),abs() */#include /* 申请和释放内存 */#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef i原创 2016-11-01 21:29:47 · 2695 阅读 · 0 评论 -
数据结构示例之杨辉三角形
以下为杨辉三角形的简单示例:1.用c语言实现的版本#includeint c(int x,int y);void main() { int i,j,n=0; printf("Please input the value of n(n>=0):");/*控制输入正确的值以保证屏幕显示的图形正确*/ scanf("%d",&n); for(i=0; i<=原创 2016-10-25 15:21:56 · 6784 阅读 · 0 评论 -
数据结构示例之阶乘计算
以下为阶乘计算的简单示例:1.用c语言实现的版本#include"stdio.h"int main(){ int Data[40]; int Digit; int i,j,r,k; int N; for(i=0; i<40; ++i) { Data[i]=0; } Data[0]=1; Data[1]=1; Digit=1; printf("Enter a原创 2016-10-25 15:13:14 · 2394 阅读 · 0 评论 -
数据结构示例之简单薪资管理系统
以下为简单薪资管理系统示例:1.用c语言实现的版本#include#includevoid main(){ int Employee[10]={27000,32000,32500,27500,30000,29000,31000,32500,30000,26000}; int Index; int NewSalary; int Selection; while(1)原创 2016-10-24 17:07:55 · 1186 阅读 · 0 评论 -
数据结构示例之展示矩阵马鞍点
以下为展示矩阵马鞍点的简单示例:1.用c语言实现的版本#include "stdio.h"#define m 3#define n 3/*求矩阵A中的马鞍点*/void Get_Saddle(int A[m][n]){ int i,j,k; int flag,min,minCol; for(i=0; i<m; ++i) { /*求一行中的最小值*/ m原创 2016-10-26 15:35:22 · 2513 阅读 · 1 评论 -
数据结构示例之矩阵对角线值非0、其余皆0
以下为展示“矩阵对角线值非0、其余皆0”的简单示例:1.用c语言实现的版本#include #include #define n 4int d[n];/* 把x存为D ( i , j ) */void Store(int x, int i, int j){ if (i=n || j>=n) { printf("数组出界!"); exit(1); }原创 2016-10-26 15:57:32 · 2489 阅读 · 0 评论 -
数据结构示例之展示矩阵高、低、主对角线值
以下为展示“矩阵高、低、主对角线值”的简单示例:1.用c语言实现的版本#include #include #define n 4int t[3*n];/* 把x存为D( i , j ) */void Store(int x, int i, int j){ if ( i =n || j >=n) { printf("数组出界!"); exit(1);原创 2016-10-26 16:58:41 · 1117 阅读 · 0 评论 -
数据结构示例之分割字符串
以下为“字符串分割”的简单示例:1. 用c语言实现的版本#include/* 根据空格分隔字符串 */int partition(char *src, char *par, int pos){ int i,j; i = pos; //取到第一个非空格字符 while(src[i] == ' ') { ++i; } if(src[i] != '\0')原创 2016-10-27 16:57:32 · 1483 阅读 · 0 评论 -
数据结构示例之获取子字符串
以下为“获取子字符串”的简单示例:1. 用c语言实现的版本include#include/* 获取子字符串 */char *substr(char *s,int pos,int len){ char *s1 = (char*)malloc(50*sizeof(char)); int i,j,endpos; --pos; endpos = p原创 2016-10-27 14:17:08 · 1965 阅读 · 0 评论 -
数据结构示例之字符串比较
以下为“字符串比较”的简单示例:1. 用c语言实现的版本#include/* 字符串比较大小 */int strcmp(char *s1, char *s2){ int i = 0; for( ; s1[i]==s2[i]; ++i) { if(s1[i]=='\0' && s2[i]=='\0') { return 0; } }原创 2016-10-27 12:55:54 · 4321 阅读 · 0 评论 -
数据结构示例之根据位置和长度删除子字符串
以下为“根据位置和长度删除子字符串”的简单示例:1. 用c语言实现的版本#include/* 根据位置和长度,删除子字符串 */char *strdel(char *s,int pos,int len){ int i; --pos; for(i = pos + len; s[i] != '\0'; ++i) { s[i-len] =原创 2016-10-27 11:34:04 · 2085 阅读 · 0 评论 -
数据结构示例之复制字符串
以下为“复制字符串”的简单示例:1. 用c语言实现的版本#includechar *strcpy(char *dest, char *src){ /* int i = 0; for ( ; src[i] != '\0'; i++) { dest[i] = src[i]; } dest[i] = '\0'; */ while ((*dest++) = (*src原创 2016-10-26 21:51:48 · 1836 阅读 · 0 评论 -
数据结构示例之获取字符串长度
以下为展示“获取字符串长度”的简单示例:1. 用c语言实现的版本#includeint Strlen(char *s){ int i = 0; for ( ; s[i] != '\0';) { ++i; } return i;}void main(){ char string[50]; int length; printf("Please input st原创 2016-10-26 21:29:46 · 4700 阅读 · 0 评论 -
数据结构示例之矩阵上三角为0值、下三角非0值
#include #include #define n 4int t[n*n/2];/* 把x存为L(i,j) */ void Store(int x, int i, int j){ if (i=n||j>=n) { printf("数组出界!"); exit(1); } /* 当且仅当i ≥ j 时,(i,j)位于下三角*/ if (i >= j) {原创 2016-10-26 20:54:29 · 3192 阅读 · 0 评论