- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性表-c-直接交作业
实验1 线性表
实验目的:掌握线性表
实验内容:建立含有若干个元素的顺序表,并将结果在屏幕上输出。
对刚建立的顺序表实现插入、删除、修改、查找,并将结果在屏幕上输出。
算法描述:利用线性表
程序清单
#includestdio.h
#includestdlib.h
/*线性表*/
struct TLink {
int data;
struct TLink * next;
};
struct TLink * new_item(int number)
{
struct TLink * r = 0;
r = (struct TLink *)malloc(sizeof(struct TLink));
r-data = number;
r-next = 0;
return r;
}
/*查询数据*/
struct TLink * lookup(struct TLink * root, int number)
{
struct TLink * h = root;
while(h) {
if (h-data == number) return h;
h = h-next ;
}/*end lookup*/
return 0;
}
/*加一个数据*/
void append(struct TLink * * root, int number)
{
struct TLink * r = 0, * n = 0;
if (!root) return ;
/*不记录重复元素*/
if (lookup(*root, number)) return;
/*如果表为空则新建表*/
r = *root;
if (!r) {
*root = new_item(number);
return ;
}
/*排表头 */
if (number r-data ) {
n = new_item(number);
n-next = r;
*root = n;
return ;
}/*end if*/
/*在有序线性表中查找位置插入元素*/
while(r) {
n = r-next ;
/*如果已经是表尾则直接追加*/
if (!n) {
n = new_item(number);
r-next = n;
return ;
}/*end if*/
/*在中央某处插入*/
if (number n-data ) {
r-next = new_item(number);
r-next-next = n;
return ;
}/*end if*/
r = n;
}/*end while*/
}/*end append*/
/*输出有序线性表*/
void print(struct TLink * root)
{
struct TLink * r = root;
printf(【);
while(r) {
printf(%d , r-data );
r = r-next ;
}/*end while*/
printf(\b】\n);
}/*end print*/
/*合并*/
void merge(struct TLink ** h0, struct TLink ** h1)
{
struct TLink * h = 0, * k = 0;
if (!h0 || !h1) return ;
h = *h1;
while(h) {
append(h0, h-data );
k = h;
h = h-next ;
free(k);
}/*end h*/
h1 = 0;
}
int main(void)
{
int i = 0; struct TLink * x=0, *y = 0;
int a[] = {1,7,3,9,5,6};
int b[] = {4,2,1,8,6,0};
printf(原数据为:\n数组a:[);
for(i = 0; i 6; i++) {
printf(%d , a[i]);
append(x, a[i]);
}/*next*/
printf(\b)\n数组b:[);
for(i = 0; i 6; i++) {
printf(%d , b[i]);
append(y, b[i]);
}/*next*/
printf(\b]\n转换为有序线性表\nA:);
print(x);
printf(B:);
print(y);
printf(AB合并后为:);
merge(x, y);
pr
您可能关注的文档
- 第五章习题讲评(p.16).ppt
- 小小专题:电子式.doc
- 伯牙绝弦(第一课时).ppt
- 排调小学党支部2009年党建带团建工作总结.doc
- 培养具有全球竞争力的.doc
- 2.unit2学生文稿.doc
- 刘广野毕业论文开题表格.doc
- 高中数学期中模拟.doc
- 第三单元生物和细胞.doc
- 西方经济学IS-LM模型详.ppt
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)