
数组
哦吼~
心如欲壑,厚土难填。
展开
-
将一个数组中的元素向后移动k位
//设计一个算法,将数组A(0…n-1)中的元素循环右移K位//假设原数组序列为:a0,a0,…,an-2,an-1;//移动后的序列为 :an-k,an-k+1,…,a0,a1,…,an-k,ab-k-1。//要求只用一个元素大小的附加存储,元素移动或变换次数与n线性相关//例如,n=10,k=3;//请用相应的程序实现//原始数组:0 1 2 3 4 5 6 7 8 9//右移后...原创 2019-03-05 22:01:19 · 5895 阅读 · 1 评论 -
插入排序(数组&&链表)
//思想:将数组分为有序和无序两部分//有序:a[0]//无序:a[1]~a[n-1]//遍历无序区间的所有元素,每次取出无序区间的第一个元素,a[i]//和有序区间的元素进行比较,将a[i]插入到有序区间的合适位置#include<bits/stdc++.h>#define N 8void InsertSort(int a[]){ int i,j,x; for(i...原创 2019-04-15 22:58:08 · 591 阅读 · 0 评论 -
静态链表
//本文转载解学武的文章代码!//本人又在此加以说明:静态链表即用一维数组来实现链表的功能,同时也丧失了一维数组的一些特点//逻辑上将整个数组划分为两部分,一部分为备用链表,一部分为现有链表//删除操作是将删除元素的那部分节点链接到备用链表//而插入操作则是在备用链表中取出一个节点,赋值并插入到现有结点后面实现此操作的 C 语言代码如下:#include <stdio.h>...转载 2019-04-11 23:20:10 · 140 阅读 · 0 评论 -
选择排序法(链表)&(数组)
//数组实现#include<stdio.h>#include<stdlib.h>#define N 8void Sortarray(int *a){ int i,j,k,t; for(i=0;i<N-1;i++){ k=i; for(j=k+1;j<N;j++){ if(a[k]>a[j]){//找到最小元素的下标 k...原创 2019-03-25 23:45:07 · 418 阅读 · 0 评论 -
将两个整型升序数据集合A和B合并成一个升序数据集合
例:A={3,5,7,8,9,12,16}B={2,4,7,9,11}out:{2,3,4,5,7,7,8,9,12,16}//1.0#include<stdio.h>#define M 7#define N 5void Merge(int a[],int b[],int c[]){ int i,j,k; i=j=k=0; while(i<M&&am...原创 2019-03-16 10:29:42 · 1053 阅读 · 0 评论 -
给定关键字key,删除整型数据集合中值为key的元素
//1.0#include<stdio.h>void Del(int s[],int n,int key){ int i=0,j; while(i<n){ if(s[i]==key){ for(j=i;j<n;j++){//将剩余元素前移 s[j]=s[j+1]; } n--;//岗哨前移 } else i++; }//输出...原创 2019-03-15 23:28:04 · 703 阅读 · 0 评论 -
求最大(小)值问题及最大和次大值
//求最大(小)值问题/a&gt;求最大(小)值缺点:无法找到位置max=a[0];for(i=1;i&lt;N;i++){if(a[i]&gt;max){max=a[i];}}b&gt;求最大(小)值的位置(下标)Rmax=0;for(i=0;i&lt;N;i++){if(a[i]&gt;a[Rmax]){Rmax=i;}}printf(“a[%d原创 2019-03-10 21:44:34 · 737 阅读 · 0 评论 -
将一个数组向前移动k位
//将数组元素向前移动k位//例:0 1 2 3 4 5 6 7 8 9//out: 3 4 5 6 7 8 9 0 1 2/思想:每取前面第一个数,将数组元素整体后移,再将取出来的元素放到最后一个元素的位置上/#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#define N 10void Move(int a[],int k){i...原创 2019-03-06 23:59:33 · 2762 阅读 · 0 评论 -
遍历数组----在一个递增数组集合中查找一对和为k的元素
//设有一个按递增顺序排列的数据结合, 查找和值为k的一对元素//例:{2,3,4,5,6,7,8,9}//k==13#include&amp;lt;stdio.h&amp;gt;#define N 8int main(){int a[N]={2,3,4,5,6,7,8,9};int k,j,i,flag=0;printf(“Please input the k:”);scanf(&quot;%d&quo原创 2019-03-09 00:37:36 · 396 阅读 · 0 评论 -
冒泡排序法
//冒泡排序法//即每一趟比较都会使得最小或者最大的元素//像水中气泡一样上浮//每一趟都会有一个元素排好序1.0#include<stdio.h>#define N 8void PubbleSort(int a[]){ int i,j,t; for(i=0;i<N-1;i++){//进行n-1趟比较 for(j=N-1;j>i;j--){//遍历...原创 2019-04-16 20:29:37 · 164 阅读 · 0 评论