- 14
- 0
- 约3.26万字
- 约 43页
- 2021-11-08 发布于辽宁
- 举报
数据结构的G语言算法
线性结枸O*C*O*D
树形结构
树形结构
圉状结粕
圉状结粕
集合结构
作者:林庆达
班级:计算机(7)班
学号:80号
以下数据结构算法由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 */
您可能关注的文档
最近下载
- TSHJX 009-2020 上海市域铁路轨道工程施工技术规程(试行).docx VIP
- 康复规培考试试题及答案.doc VIP
- 2022风电工程建设标准工艺.docx VIP
- VW 50180_EN-2025 汽车内饰件排放性能.pdf
- API681石油,化工及气体工业用液环式真空泵和压缩机.pdf VIP
- 高级调饮师理论考试题及答案.doc VIP
- 2025年新人教版五年级下册道德与法治全册精编知识点(学生用).pdf
- TBAEE 004-2019 婴幼儿洗衣液.pdf VIP
- 《集成电路封装与测试技术》第5章 印制电路板.ppt VIP
- 人教版(2024)新教材小学三年级美术下册第一单元《第1课 水火土的猜想》精品课件.pptx
原创力文档

文档评论(0)