数组的插入、删除以及排序的实现

数组的插入:

#include <stdio.h>
#define size 10
int main()
{
int a[size]={10,12,14,16,18,20,13,200,134,59}; /* 初始化数组 */
int b[size+1]={0},i,j,x,v; /* b数组为插入后的数组,新插入了一个元素,所以要在原数组的基础上加1 */
printf("please input insert addr:");
scanf("%d",&x); /* 插入值的位置 */
printf("please input insert value:");
scanf("%d",&v); /* 插入值 */
for (i=0;i<=size-1;i++) {
if (i==x) { /* 循环数组a,当数组a元素值的位置与插入值的位置相等时 */
b[i]=v; /* 把插入值赋给数组与数组a元素值相等的位置i */
b[i+1]=a[i]; /* 把原来数组a中i位置的值赋下一个位置 */
}
if (i>x) b[i+1]=a[i]; /* 当循环中的i大于插入值的位置x时,以后每一个元素所放的位置向后退一
格 */
if (i<x) b[i]=a[i]; /* 当循环中的i小于插入值的位置x时,每一个元素所放的位置不变 */
}
printf("this array is:\n");
for (j=0;j<=size;j++)
printf("%5d",b[j]); /* 打印数组 */
printf("\n");
return 0;
}

数组的删除:

#include <stdio.h>
#define size 10
int main()
{
int a[size]={10,12,14,16,18,20,13,200,134,59};
int b[size-1]={0},i,j,x,v;
printf("please input insert addr:");
scanf("%d",&x);
for (i=0;i<=size-1;i++) {
if (i==x) b[i-1]=a[i];
if (i>x) b[i-1]=a[i];
if (i<x) b[i]=a[i];
}
printf("this array is:\n");
for (j=0;j<=size-2;j++)
printf("%5d",b[j]);
printf("\n");
return 0;
}

时间: 2024-09-05 16:11:38

数组的插入、删除以及排序的实现的相关文章

PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)_php技巧

本文实例总结了PHP数组用法.分享给大家供大家参考,具体如下: Demo1.php <?php //创建一个数组变量 $userNames = array('张三','李四','王五'); //将这个数组打印出来 // echo $userNames;//Array // $userName = '张三'; // echo $userName;//张三 //如果你想打印出这个数组的某一个元素 //那你必须找到这个元素的下标,键(key) //0,1,2 //echo $userNames[2];

将数组元素按顺序放入链表中并进行插入删除等操作的编程问题

问题描述 将数组元素按顺序放入链表中并进行插入删除等操作的编程问题 编译无错误,但是无法运行,感觉是将数组当做参数那个地方出了问题,但是不知道具体原因,求助CSDN的朋友帮忙解答,万分感谢 解决方案 大体看了一下首先在list的构造函数中 没有对head进行初始化, 应该是 head = new Node; head->next = null;其次在你的create方法中你并没有将数据放入到以head为头的链表中,我猜你应该是忘记对q初始化,q = head; 给你的建议是加断点一步步调试, 这

c语言-C中对排序好了后的数组中插入一个数在输出

问题描述 C中对排序好了后的数组中插入一个数在输出 用冒泡排序法对输入的20个数进行降序排序存入数组中,然后在输入一个数插入到该数组,要求保持原序不变输出该数组的21个数! 解决方案 int main(void) { int i,j,array[20],temp; printf("Input 20 integer:"); /*输入20个整数*/ for(i=0;i<20;i++) scanf("%d",&array[i]); printf("

PHP 使用用户自定义的比较函数对数组中的值进行排序

原文:PHP 使用用户自定义的比较函数对数组中的值进行排序      usort     (PHP 4, PHP 5) usort -      使用用户自定义的比较函数对数组中的值进行排序        说明            bool usort        ( array &$array       , callable $cmp_function       )          本函数将用用户自定义的比较函数对一个数组中的值进行排序.如果要排序的数组需要用一种不寻常的标准进行排序

iostream-程序目的是通过排序算法进行数组由大到小排序 但不同编译器运行结果不一致

问题描述 程序目的是通过排序算法进行数组由大到小排序 但不同编译器运行结果不一致 程序目的是通过排序算法进行数组由大到小排序 但不同编译器运行结果不一致 #include <iostream> #include <iomanip> //使用setw()函数 using namespace std;//定义无参函数 void bubble(int[], int); int main() { int arry[10] = {11, 4, 55, 6, 77, 8, 9, 0, 7, 1

JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)_javascript技巧

POP 删除最后一项 删除最后一项,并返回删除元素的值:如果数组为空则返回undefine var a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2] shift 删除第一项 删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefine var a = [1,2,3,4,5]; a.shift(); //a:[2,3,4,5] a.shift(); //a:[3, 4,

php 数组添加与删除元素程序代码

增加数据元素有函数,array_push(),array_unshift()函数 一.在数组的末尾添加元素 1.array_push 使用方法  代码如下 复制代码 <?php     $stack = array("orange", "banana");     array_push($stack, "apple", "raspberry");     print_r($stack); ?> 输出: Array

php数组添加与删除单元的常用函数实例分析

 这篇文章主要介绍了php数组添加与删除单元的常用函数,实例分析了array_push.array_pop.array_shift及array_unshift等函数的使用技巧,需要的朋友可以参考下     本文实例分析了php数组添加与删除单元的常用函数.分享给大家供大家参考.具体分析如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <?php header("Content-type:text/html;char

ongo 数组删除 pull-Mongo中数组结构的删除

问题描述 Mongo中数组结构的删除 20C 有这样一个Mongo的结构,{_id"" : ""classone""students"" : [ {name"" : ""liming""age"":23 } {name"" : """"jim""age"&qu