c语言插入数组元素(数组)

Python014

c语言插入数组元素(数组),第1张

C语言中,数组是一组连续的相同类型的数据集合。 所以要在数组中插入元素,需要按照以下步骤:

1、找到插入点;

2、将插入点所在元素,及之后的所有元素,都向后移动一个单位;

3、将插入点赋值为要插入的元素。

以固定位置插入,代码举例如下:

#include <stdio.h>

void insert(int *a, int n, int i, int v)

//将长度为n的数组a, 下标为i的位置插入值为v的元素。 插入后,数组长度为n+1.

{

    int j

    for(j = n-1 j>=i j --)//将i及以后的后移一位。 由于是固定位置插入,所以不需要查找插入位置。 

        a[j+1] = a[j]

    a[i] = v//插入元素。 

}

int main()

{

    int a[5] = {1,3,6,7}/五个元素数组,初始化四个值。

    int i

    

    insert(a, 4, 2, 5)//将5插入到a[2]位置。 

    for(i = 0 i < 5 i ++)

        printf("%d ", a[i])//输出结果,为1 3 5 6 7 

    return 0

}

main() {int a[10],b[10],i,j=0,k=0,e=0 for(i=0i<10i++) scanf("%d",&a[i]) printf("\n") for(i=0i<10i++) scanf("%d",&b[i]) printf("\n") for(i=0i<10i++) {if(a[i]>b[i]) j++ else if(a[i]b %d times\na#includeint main(){int numbers[10] = { 10,2,3,4,5,6,9,8,7,1 }int a,b, text, hello for(a=0a<10-1a=a+1) { //在这里进行比较的开始的代码hello = 1 //假如剩下的元素已经被排序好了,然后接着进行下面的比较for(b=0b<10-1-ib=b+1){if(numbers[b] >numbers[b+1]){text= numbers[b]numbers[b] = numbers[b+1]numbers[b+1] = texthello= 0}}if(hello) break }for(a=0a<10a=a+1){printf("%d ", numbers[a])}printf("\n")return 0}扩展资料:C语言中数组元素大小的相关排序规则:一、首先需要对数组中的元素进行排列,默认是以字符串的规则进行从小到大排序;可接收一个参数:自定义的规则相关排序。参数的具体要求如下:1、参数首先必须是一个函数;2、函数必须有一个明确的返回值;3、返回值必须是number类型,但不可以是NaN。二、排序中的具体规则:1、首先每次从数组中挑选出两个元素传入函数中,进行比较,直到所有进行排列的元素都被挑选完毕以后就不要再进行挑选;2、如果返回值是一个正数,就交换这彼此的位置,实现大小的正确排列;3、如果返回值是一个负数或0,此时说明大小位置的顺序是正确的,此时就不需要交换彼此的位置。4、默认同一字符的全角字符看做半角字符。不区分同一个字符(如日文的片假字)的半角与全角状态。相同元素,维持原序,默认区分字母大小写,同一个字符小写在前,大写在后。注意:对数组的元素进行排序需要不断比较两个数字的大小,10个元素排序一共需要比较9次,直到所有的元素被都完完全全地被比较一次。

#include

<stdio.h>

#include

<stdlib.h>

void

main()

{

int

b[7]

int

i,

j,

dup

randomize()

/*

这一段代码可保证数组

b

内的

7

个随机数都不一样

*/

for

(i

=

0

i

<

7

++i)

{

do

{

b[i]

=

rand()

%

36

/*

产生随机数

*/

dup

=

0

/*

先假设没有重复

*/

for

(j

=

0

j

<

i

&&

!dup

++j)

/*

跟已经产生的数字一一比较

*/

{

if

(b[i]

==

b[j])

/*

如果重复了

*/

dup

=

1

/*

就记住是重复了

*/

}

}

while

(dup)

}

/*

这一段只是把结果打出以作验证

*/

for

(i

=

0

i

<

7

++i)

printf("%d

",

b[i])

printf("\n")

}

如果有看不懂的地方,请继续追问,一定会解释清楚。