1----算法和程序设计的关系
算法是一切程序设计的灵魂和基础,选择合理的算法,可以起到事半功倍的效果。
2----应用程序可以分为哪几部分?
可以分为编程语言,数据结构,算法三大部分。
3----什么是算法
算法是对某一具体的问题的一种套路。
4----算法的五种特征
A 有穷性:指的是执行步骤是有限的,执行时间也是有限的。B确切性:每一个步骤都必须有明确的说明,不能模糊。
C输入:执行操作步骤前的条件。D输出:算法的结果。E:可行性:步骤必须可以执行,假设等是不允许的。
5----什么是数据结构
数据和数据之间的关系
6什么是线性表
由n个数据元素组成的有限序列。
7线性表的基本操作
初始化(构造一个空的线性表),计算表长,获取结点(取出该表上第?个结点),查找结点,插入节点,删除结点。
8顺序表
顺序表就是按照顺序存储方式存储的线性表。
用java语言表示如下:
static final int MAXLEN=100;
classDATE
{
String key;
String name;
int age;
}
class SLType
{
data[] ListDate=new DATA[MAXLEN+1];
int ListLen;
}
初始化顺序表
Sl.ListLen=0;
计算顺序表
return SL.ListLen;
插入节点
int SLInsert(SLType SL,int n,Data data)
{
int i;
if(sl.List.len>=maxlen)
{
system.out.print(“顺序表已满”);
return 0;
}
if(n<1||n>sl.listlen-1)
{
system.out.print("插入元素序号错误");
return 0;
}
for(i=sl.listlen;i>=n;i--)
{
sl.listData[i+1]=sl.listData[i];
}
sl.listData[n]=data;
sl.listlen++;
ruturn 1;
}
追加结点
int sladd(sltype sl,Data data)
{
if(sl.listlen>=maxlen)
{
system.out.print(顺序表已满,不能再添加结点了)
return 0;
}
sl.listData[++sl.listlen]=data;
return 1;
}
删除结点
int slDelete(sltype sl,int n)
{
int i;
if(n<1||sl.listlen+1)
{
sl.listData[i]=sl.listData[i+1];
sl.list-1;
return 1;
}
查找结点
A按照序号查找结点
Data slfindbynum(sltype sl,int n)
{
if(n<1||n>sl.listlen+1)
{
system.out.print(结点序号错误,不能反悔结点);
return 0;
}
return sl.listData[n];
}
B按照关键字查找结点
int slfindbycount(sltype sl,String key)
{
int i;
for(i=1;i
{
if(sl.lsitData[i].key.compareto(key)==0)
{
return i;
}
}
return 0;
}
显示所有结点
int slall(sltype sl)
{
int i;
for(i=1;i<=sl.listlen;i++)
{
system.out.print(sl.list.Data[i].key,sl.listData[i].name,sl.listData[i].age);
}
return 0;
}
end!!!