c语言_删除数组中的重复数据
来源:互联网 发布:别斯兰人质事件知乎 编辑:程序博客网 时间:2024/05/19 05:40
这篇代码将实现数组中相同数据的删除操作
大致思路如下:
1、首先使用malloc动态分配数组的内存,再输入各个数组元素;
2、使用两层for循环嵌套,对数组遍历,判断如果出现相同数据,则将后面的数据往前移一位,记录数组长度的变量相应减1;
3、输出数组;
#include <stdio.h>
void main(){
//第一题:删除数组中相同数据
printf("==========第一题==========\n");
int length = 0;//定义一个变量,记录数组的长度
printf("请输入数组长度:\n");
scanf("%d", &length);
char *a;
a = (char*)malloc(length * sizeof(int));//使用malloc动态分配数组的内存
printf("请输入数组元素:\n");
for (int i = 0; i < length; i++)
{
scanf("%d", &a[i]);
}
printf("数组原来数据为:\n");
for (int i = 0; i < length; i++)
{
printf("%d, ", a[i]);
}
printf("\n删除重复数据后,该数组数据为:\n");
//使用两层for循环嵌套,对数组遍历:
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; )//注意:此时第三个表达式空出,因为当找到重复的数据,后面的数往前覆盖之后,应该再进行一次对比
{
if (a[i] == a[j])//判断如果出现相同数据,则将后面的数据往前移一位
{
for (int k = j; k < length - 1; k++)
{
a[k] = a[k + 1];
}
length--;//记录数组长度的变量相应减1
}
else
{
j++;//当没有重复的时候才++
}
}
}
for (int i = 0; i < length; i++)//打印数组
{
printf("%d, ", a[i]);
}
}
0 0
- c语言_删除数组中的重复数据
- 删除可变数组NSMutableArray中的重复数据
- 删除可变数组NSMutableArray中的重复数据
- 删除可变数组NSMutableArray中的重复数据
- 删除已排序数组中的重复数据
- 数组-删除重复数据
- C语言-删除数组中的元素
- 数组中删除重复数据
- C语言_数组
- C语言_数组
- C语言_数组
- C语言_数组
- C语言_数组
- 删除数组中的重复元素
- 删除数组中的重复元素
- 删除数组中的重复元素
- c语言删除重复字符
- 删除表中的重复数据
- 牛课网--直通BAT面试算法精讲课--送优惠码啦
- Leetcode -- 491. Increasing Subsequences
- 二叉树遍历
- 【phpMyAdmin】Linux下安装phpmyadmin
- ubuntu安装 arm-linux-gcc-4.4.3
- c语言_删除数组中的重复数据
- jQuery.grep()
- Io流运用1
- opencv:图像的载入、显示以及创建窗口
- BS8116A-3驱动程序(使用STM32--STM32cubemx)
- spring Data Jpa 相关
- javascript的原始数据类型
- poj 3262 Protecting the Flowers
- leetcode-18. 4Sum