数据结构的?语言算法
贱性结樓
树形结构
圉状结粕
集合结构
以下数据结构算法由C语言编译,并在TC上运行通过,其中,扩展名为” .CPP 的为头文件,运行时只需将头文件与相应算法连接即可。
第一章 绪论(预备知识)
练习 1.16
/* 试写一算法 , 自大至小输出顺序读入的三个整数 X,Y 和 Z 的值 */
#include stdio.h
void swap(int *x,int *y,int *z)
{ int t;
if(*x*y) t=*x;*x=*y;*y=t;
if(*y*z) t=*y;*y=*z;*z=t;
if(*x*y) t=*x;*x=*y;*y=t;
}
main()
{int a,b,c;
scanf(%d,%d,%d,a,b,c);
swap(a,b,c);
printf(%d %d %d,a,b,c);
}
第二章 线性表
1.顺序表
实现顺序表基本算法的头文件 sq.cpp 为:
#includestdio.h
#define MaxLen 50 /* 顺序表中最多元素个数 */ typedef int elemtype;
typedef elemtype sqlist[MaxLen];
int create(sqlist A) /* 创建线形表 */
{
int i,n;
printf( 创建一个顺序表: \n);
printf( 输入元素个数: );
scanf(%d,n);
for(i=0;in;i++)
{
printf(” 输入第%0个元素值:,i+1);
scanf(%d,A[i]);
}
return n;
}
void disp(sqlist A,int n) /* 输出一个顺序表 */
{
int i;
printf( 输出一个顺序表 : \n);
if(n==0) printf( 空表 );
for(i=0;in;i++)
printf(%d ,A[i]);
printf(\n);
}
int ins(sqlist A,int n,int i,elemtype x)
/* 在顺序表第 i 个元素前插入一个元素 x, 若 i=0, 则新元素作为
第一个元素 , 若 i=1, 则插入在最后 */
{
int j;
if(i0||in) printf(i 值下溢或上溢 \n);
else
{
for(j=n-1;j=i;j--) A[j+1]=A[j];
/* 将第 i 个元素及其后的元素后移 */
A[i]=x;n++; /* 顺序表长度加 1*/
}
return n;
}
int del(sqlist A,int n,int i)
/* 在顺序表中删除第 i 个元素 */
{
int j;
if(i=0||in) printf(i 值下溢或上溢 \n);
else
{
for(j=i-1;jn;j++) A[j]=A[j+1];
/* 将第 i 个元素之后的元素前移覆盖 A[i]*/
n--; /* 顺序表长度减 1*/
}
return n;
}
int find(sqlist A,int n,elemtype x)
/* 在一个有 n 个元素的顺序表 A 中查找元素值为 x 的元素 */
{
int i=0;
while(i=nA[i]!=x) i++;
if(in) return 1;
else return 0;
}
练习 2.11:
/* 设顺序表 va 中的数据元素递增有序。试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有 序性 */
#includesq.cpp
int insert(sqlist A,int n,elemtype x) /* 顺序表 A 的长度为 n*/
int i,j;
if(x=A[n-1]) A[n]=x;
/* 若 x 大于最后的元素,则将其插入到最后 */ else
{
i=0;
while(xA[i]) i++; /* 查找插入位置 i*/
for(j=n;j=i;j--) A[j+1]=A[j];
/* 移出插入 x 的位置 */
A[i]=x;
}
return (n+1); /* 顺序表长度增 1*/
}
void main()
{
sqlist A; int n;
n=create(A); disp(A,n);
n=insert(A,n,10); /* 插入元素 10*/ disp(A,n);
getch();
}
/* 运行结果: 创建一个顺序表
输入元素个数: 3 输入第 1 个元素值: 6 输入第 1 个元素值: 9 输入第 1 个元素值: 14
输出一个顺序表
6 9 14 输出一个顺序表
6 9 10 14 */
练习 2.12
/*设A=( ai,…,a m)和B=(bi,…,bm)均为顺序表,
您可能关注的文档
最近下载
- 公共卫生考试题及答案.docx VIP
- 热点 01 人工智能【讲练结合】(解析版)-2026年中考英语新课标(核心素养)书面表达专题讲练(全国通用).docx VIP
- 《石油的形成过程》课件.ppt VIP
- 浙教版初中七年级下册劳技术 项目一 任务一 学做小笼包【课件】.pptx VIP
- 2026春小学科学苏教版(2024)二年级下册教学设计(含目录).docx
- 职业健康安全(ISO45001-2018)体系推行计划.xls VIP
- 统编版一年级下册道德与法治第一单元《我有新面貌》全单元教学课件(新教材).pptx
- 第25课 中华人民共和国的成立和社会主义制度的建立.pptx VIP
- 与圆有关的解答题(10大考点44题)(原卷版)--2025年中考数学真题分类汇编(全国通用).pdf VIP
- 江西省民办职业培训学校设立标准、申办报告、申请审批表、评分细则、办学评估细则、承诺书、办学许可证及填写规范.docx VIP
原创力文档

文档评论(0)