C语言使用指针插入元素
C语言 元素 指针 插入 使用
2023-09-14 09:09:14 时间
实例描述
在有序(升序)的数组中插入一个数,使插入后的数组仍然有序。
代码实现
(1)在Visual Studio 2017中选择“文件”→“新建”→ “项目”。
(2)在跳出的界面选择“Windows 桌面”→“Windows桌面向导” → “输入项目名称(输入179)”→“选择保存项目路径,,单击“确定”按钮,创建一个工程步骤完成。
(3)在创建的工程中,在“源文件”右键,选择“添加” →“新建项” →“C++文件(.cpp)”,在下面的位置输入文件名,单击“添加”,完成源文件的的添加。
(4)在代码编辑界面中,开始编写本实例代码。
(5)引用头文件,进行宏定义。
#include<stdio.h>
#define N 10
(6)创建自定义函数insert(),用于实现向有序的数组中插入一个元素,并使插入后的数组仍然有序。代码如下
void insert(int *a, int n, int x) /*插入元素的自定义过程*/
{
int*p, *q; /*声明指针变量*/
for (p = a; p < a + n; p++) /*遍历数组元素*/
{
if (*p > x) /*找到要插入的位置*/
{
q = p; /*记录要插入的位置*/
break; /*跳出循环*/
}
}
for (p = a + n; p >= q; p--) /*将插入位置之后的数据下移*/
*p = *(p - 1);
*q = x; /*插入*/
}
(7)主函数程序代码如下:
void main()
{
int i, a[N + 1], an; /*声明变量和数组*/
int *p; /*声明指针变量*/
printf("Input 10 seriate integer :\n ");
for (i = 0; i < N; i++)
scanf("%d", &a[i]); /*输入数组元素*/
printf("input inserting data: ");
scanf("%d", &an); /*输入要插入的数*/
insert(a, N, an); /*进行插入操作*/
for (p = a; p < a + N + 1; p++)
{
printf("%3d", *p); /*输出插入元素后的数组*/
}
}
相关文章
- C语言教程学习26-35节 指针全内容第一部分26-30
- C语言 按位异或运算
- [编程] C语言的结构体详解编程语言
- 指针变量及其定义,C语言指针变量定义详解
- strlen函数与sizeof的区别,C语言strlen与sizeof的区别详解
- 内存泄漏的场景分析和避免方法总结,C语言内存泄漏详解
- C语言标准头的使用
- Linux之父:我们不会用Rust取代C语言开发内核
- 实现Oracle远程连接:C语言方案(c远程连接oracle)
- MySQL C语言API应用注意事项(mysqlc语言api)
- C语言操作MySQL数据库的链接字串实现方法(c mysql链接字串)
- C语言程序调用MySQL 快速导入数据(c mysql导入数据)
- MySQL专业技巧使用C语言正确保存时间(c mysql保存时间)
- C语言连接Oracle数据库视图编程实践(c 连oracle视图)
- 数据库如何使用C语言读取Oracle数据库(c 怎么读取oracle)
- C语言-字符串函数的实现(三)之strcat
- 基于C语言string函数的详解