2008秋季-计算机软件基础-0903课堂用例(2)

本文提供了一个使用C语言实现的线性表操作实例,包括插入、删除等基本功能,并展示了如何通过函数进行数据的增删查改。适用于初学者理解和掌握线性表的基本概念及其在实际中的应用。

 

#include<stdio.h>
typedef 
float datatype;
void update(int xiabiao,datatype b[],int xinshu);
void charu(int weizhi,datatype b[],
           datatype charushu,
int shuzuchang);
void shanchu(int weizhi,datatype b[],
           
int *changdu);
void shuchu(datatype aa[],int biaochang);
void chazhao(datatype aa[],int biaochang,datatype beizhaoshu);
void shuchuFloat(datatype aa[],int biaochang);
void main()
{  
    
/* 顺序存储的线性表 - 顺序表  */
    datatype a[
100]={1.1,2.2,4.4,5.5};
    
int biaochang=4,i;
    
int charuweizhi=2;
    
int shanchuweizhi=1;
    printf(
"原始线性表\n");
    shuchuFloat(a,biaochang);
    printf(
"线性表插入3以后\n");
    charu(charuweizhi,a,
3.3,&biaochang);//changdu=&biaochang
    shuchuFloat(a,biaochang);
    printf(
"线性表删除下标位置%d以后\n",shanchuweizhi);
    shanchu(shanchuweizhi,a,
&biaochang);
    shuchuFloat(a,biaochang);
    chazhao(a,biaochang,
4);
    chazhao(a,biaochang,
10);
}
void charu(int weizhi,datatype b[],
           
int charushu,int *changdu)
{
    
int i;
    
for(i=*changdu;i>weizhi;i--)
        b[i]
=b[i-1];
    b[weizhi]
=charushu;
    (
*changdu)++;
}

void shanchu(int weizhi,datatype b[],
           
int *changdu)
{
    
int i;
    
for(i=weizhi;i<*changdu;i++ )
        b[i]
=b[i+1];
    (
*changdu)--;
}

void shuchu(datatype aa[],int biaochang)
{  
int i;
   
for(i=0;i<biaochang;i++)
        printf(
"aa[%d]=%d ",i,aa[i]);
    printf(
"\n biaochang:%d \n",biaochang);
    printf(
"\n");    
}

void shuchuFloat(datatype aa[],int biaochang)
{  
int i;
   
for(i=0;i<biaochang;i++)
        printf(
"aa[%d]=%f ",i,aa[i]);
    printf(
"\n biaochang:%d \n",biaochang);
    printf(
"\n");    
}

void chazhao(datatype aa[],int biaochang,datatype beizhaoshu)
{
  
int i;
  
for(i=0;i<biaochang;i++)
    
if(aa[i]==beizhaoshu)
    {
        printf(
"找到了%d,位置%d\n ",beizhaoshu,i);
        
break;
    }
  
if(i==biaochang)
      printf(
"%d没有找到\n",beizhaoshu);
}

转载于:https://www.cnblogs.com/emanlee/archive/2008/09/04/1283673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值