趁着复习把课上的作业和代码上传上来嘿嘿嘿,这个系列的代码都是自己写的或者老师教学用的可能内存管理上有点小瑕疵,但是算法理解还是不错的!本系列所有代码在dev-cpp上可以跑通~
线性表的链式存储和基本操作:
#include <stdio.h>
const int maxn = 10000;
int m; //命令数
int n; //线性表中元素个数
int a[maxn];
void insert(int i, int x){//插入x到a[i]
for(int j=n;j>i-1;j--){
a[j]=a[j-1];
}
a[i-1]=x;
n++;
}
void deleteByIndex(int i){ //删除a[i]
for(int j=i-1;j<n-1;j++){
a[j]=a[j+1];
}
n--;
}
void find(int x){//查找第一个x
for(int j=0;j<n;j++){
if(x==a[j]){
printf("%d\n",j+1);
return;
}
}
printf("0\n");
}
void eliminateRepeat(){ //去除重复元素
int j=0;
while(j<n-1){
int k=j+1;
for(int i=j+1;i<n;i++){
if(a[i]!=a[j]){
if(k!=i){
a[k++]=a[i];
}
else{
k++;
}
}
}
n=k;
j++;
}
}
void count(int x, int y){