删除线性表(数组)中的重复元素

本文介绍了一种算法用于删除线性表中的重复元素,包括如何通过自定义标识符来识别重复项,并提供了一个完整的函数实现过程。
    typedef int datatype; 
    
    typedef struct _seqlist {
        datatype data[20];
        int last;              //表中最后一个元素的下标,从0开始。-1表示该线性表为空表

    }seqlist;


int del_repeat_seqlist(seqlist *sq) //删除数组中的重复字符  ,自定义:如果元素的值为0x7FFFFFF,说明该元素为重复元素
{
    int i, j;
    for (i=0; i<length_seqlist(sq)-1; i++)
    {
        if (sq->data[i] == 0x7FFFFFFF) //如果发现元素的值为0x7FFFFFFF,则继续for循环
            continue;

        for (j=i+1; j<length_seqlist(sq); j++)
        {
            if ((sq->data[j] == sq->data[i]) && (sq->data[j] != 0x7FFFFFFF))

            {

               sq->data[j] = (datatype)(0x7FFFFFFF);
            }
        }
    }

    for (i=2; i<length_seqlist(sq)+1; i++)    //从第二个元素开始判断,如果有值为0x7FFFFFFF的元素,则删除
    {
        if ( sq->data[i-1] == 0x7FFFFFFF)
        {
            del_seqlist(sq, i);      // i传过去的时候,里面会先进行i-1.因为第i个元素其实就是data[i-1]。
            i--;
        }
    }

    return 0;
}


int del_seqlist(seqlist *sq, int pos)  //删除数组中的元素
{
    if ((sq == NULL) || empty_seqlist(sq) || pos<1 || pos>length_seqlist(sq))
    {
        printf("delete position is error!\n");
        exit(1);
    }

    int i;
    int tmp = sq->data[pos-1];  //因为位置pos其实就是元素data[pos-1]
    if (pos == length_seqlist(sq))
    {
        sq->last--;
        return tmp;
    }
    for (i=pos-1; i<length_seqlist(sq)-1; i++){
        sq->data[i] = sq->data[i+1];
    }
    sq->last--;
    return tmp;
}


int length_seqlist(seqlist *sq)

{

    return (sq->last + 1);
}




毕业论文-5KW分布式并网光伏发电系统的设计摘要论文以完成5KW分布式并网光伏系统的设计为主,同时选定了具体所需要的器件。(1)首先简单叙述了光伏行业的背景以及国内外的发展状况。由于能源危机的日益严峻,寻找绿色能源已经成为解决能源危机的唯一方法。在这样的环境下,太阳能必定会得到巨大的发展。(2)然后对本次设计的可行性进行了调查报告,调查了地理、气候、用电等等的各方面因素,并且简述了并网的原理。(3)接着设计并模拟出5KW分布式并网光伏发电系统,顺利完成并网发电。研究了太阳仰角与方位角对阴影的影响以及热斑效应,并制定了各种保护措施。最终选出了搭建地点,设计出搭建方案。(4)最后对系统的主要设备进行了选定,并列举了出来,最终通过PVsyst模拟运行出设计结果。关键词:光伏现状;可行性调查;热斑效应第一章绪论1.1光伏发电的背景与意义我们所说的光伏,就是指以太阳能电池作为介质,阳光直接转化为电能的过程。太阳能热发电和光伏太阳能电池的能量转换机制的本质区别和差别,更多的在于对辐射能的利用上面。光伏技术是以量子力学和半导体物理系作为理论基石的,以光电材料与器件的研究开发并使用为主要目标,让正常温度下光能直接转换成为电能变成了现实。最近,随着煤炭、石油的开发,传统的燃料能源经常宣告出现紧急情况,不可再生能源的利用用对环境造成的污染越来越严重了,人类的工业等发展也肯定会受到能源问题的限制约束。取之不尽、用之有余、便宜又不污染环境的太阳辐射能迟早要变成将来最重要的可再生能源。太阳能产业潜力巨大。由于我国对国际能源的依赖比较高,但世界能源价格是会不断的波动的,所以我国的能源供应的形势不容乐观。在这样的条件下,我们唯一能做的就是不断的发展新能源。世界上现有的可开发和使用的可再生能源大概有地热能、风能、太阳能和水能。其中,太阳能和风能所占有的比例是十分微小的。但是,它们都是最有潜力的新能源。因此,发展太阳能光伏发电技术和风电技术已经变成了将来一段时间里面的大趋势了。虽然,前几年由于欧盟的制裁,中国的光伏行业进入了低谷期。但现在,随着中国与欧盟关系的和解,欧盟对中国光伏制裁的放宽,欧洲又恢复了部分市场,这部分解决了光伏产业的销售市场问题。国内,又对光伏的发展大力扶持,制定了很多补贴政策,如强制电网同意光伏的并网。这些条件使得中国的光伏产业回暖,迎来了又一个春天。据统计2013年全世界太阳能电池板产量达40GW,而中国就占了大概26GW,持续7年位于世界第一位。1.2我国的太阳能资源及其分布特点中国的疆界,从北纬4°附近到北纬 53°31 '自东经73°40'附近到东经135°05 ',跨度比较广,土地面积大。中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值