顺序表应用2:多余元素删除之建表算法
来源:互联网 发布:程序员推荐书单 编辑:程序博客网 时间:2024/05/16 01:16
以上为题目。
具体代码为:
#include <stdio.h>#include <stdlib.h>#define Error 0#define Max_size 10000typedef int Element;typedef struct//定义{ Element *elem;//存储空间基址 int length;//当前长度 int listsize;//当前分配的储存容量}Sqlist;int Initlist(Sqlist *L)//构造一个空的线性表L{ L->elem=(Element *)malloc(Max_size*sizeof(Element)); if(!L->elem)exit(Error);//存储分配失败 L->length=0;//空表长度为0 L->listsize = Max_size;//初始储存容量 return 0;}void Create(Sqlist *L,int k)//为表加入K个数据{ int i; for(i=0;i<k;i++) { scanf("%d",&L->elem[i]); } L->length=k;//当前表长为k}void Newlist(Sqlist *L)// 在同一表中删除值相同的元素,只保留第一个{ int i,j,k; k=-1;//表示新表的长度 for(i=0;i<L->length;i++) { j=0;//从新表的开头搜素 while(j<=k&&L->elem[j]!=L->elem[i])//当搜索新表完毕未发现相等元素 //或者发现相等元素跳出循环 j++; if(k==-1||j>k)//k=-1表示新表中没有一个元素时 L->elem[++k]=L->elem[i];//j>k说明新表中与旧表没有相同的元素 } L->length=k+1;//新表的长度}void Display(Sqlist *L)//输出函数{ int i; for(i=0;i<L->length;i++) { printf(i==L->length-1?"%d\n":"%d ",L->elem[i]); }}int main(){ int i,n,m; Sqlist L; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&m); Initlist(&L); Create(&L,m); Newlist(&L); Display(&L); } return 0;}此代码为在Code::blocks中编译
1 0
- 暑假集训二顺序表-顺序表应用2:多余元素删除之建表算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- 顺序表应用1:多余元素删除之移位算法
- HDU 3938 Portal
- HDU 3435 KM算法或者最小费用最大流
- POJ Sorting It All Out 1094(拓扑排序)
- HDOJ 1070 Milk
- C++模版和泛型编程
- 顺序表应用2:多余元素删除之建表算法
- bzoj 4621: Tc605 动态规划
- 数据结构实验之串二:字符串匹配
- 变更设计的流程
- 【C++11】随机数函数库random
- 7. PHP接入支付宝有密批量转款接口
- POJ 1860 Currency Exchange Bellman判断正环
- 与Service交互的三种方式
- php之从数据库中获取数据实例