zoukankan      html  css  js  c++  java
  • 查找数组中的重复元素

    通过c语言自定义数组长度

    能够识别出多个重复的数据,将其输出并返回下标

    时间复杂度O(n^2)

    使用双重循环查找,找到直接break,注意break和continue的区别

    #include<stdio.h>
    #include<stdlib.h>
    #include<windows.h>
    
    int main(void)
    {
        int *a;
        int n;
        scanf("%d",&n);
        a=(int*)malloc(sizeof(int)*(n));
        for(int i=0;i<n;++i)
            scanf("%d",&a[i]);
        for(int i=0;i<n-1;++i)
            for(int j=i+1;j<n;++j)
                if(a[i]==a[j])
                {
                    printf("find number %d ,locate %d
    ",a[i],j);
                    break;
                }
        /*
        for(int i=0;i<n;++i)
            printf("%d ",a[i]);
        printf("
    ");
        */
        system("pause");
        return 0;
    }

    之前在申请内存的时候直接用(int*)malloc(sizeof(n));当申请的内存超过10的时候会出现堆的溢出错误,因为申请的内存是错误的,无法容纳大于10的数组

    改为(int*)malloc(sizeof(int)*(n));之后就解决了这个问题,二维数组的动态申请也是同理。

  • 相关阅读:
    Java访问Oracle服务器
    easyUI之练习
    easyUI之Tree(树)
    easyUI之Messager(消息窗口)
    easyUI之表单
    easyUI之Dialog(对话框窗口)
    easyUI之函数
    easyUI之window窗口
    easyUI之progressbar进度条
    easyUI之slider滑动条框
  • 原文地址:https://www.cnblogs.com/wangtianning1223/p/11457241.html
Copyright © 2011-2022 走看看