zdly.net
当前位置:首页 >> C语言对数组进行排序 >>

C语言对数组进行排序

void sort (int* a,int max) { int temp; for (int i=0;i<max;i++) for (int j=i+1;j<max;j++) { if (a[j] < a[i]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } } }

void sort(int a[], int left, int right) { int i,j,t; for(i=left;ifor(j=left;jif(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }这个就行,三个参数是数组名:起始索引和结束索引,不仅可以对数组排序,也可以对数组的一部分连续的元素进行排序(比如只对第几到第几个数排序)

#include<stdio.h>int main(){ int a[20]; int i,j,temp; int *p=&a[0]; int *d; int n; printf("请输入数组长度"); scanf("%d",&n); for(i=0;i<n;i++) {zhidaoprintf("请输入这个数组\n"); scanf("%d",p++);//<================= } for(p=a;p<a+n;p++)

冒泡排序:#include <stdio.h>#define N 7void main(){ char ch[7]; for(i=0;i<N;i++) { scanf("%c",

对n个数排序,先输入n,再输入n个数.选择排序#include<stdio.h> int main() { int a[100]; int i,j,t,p,n; while (~scanf("%d",&n)) { for (i=0;i<n;i++) scanf("%d",&a[i]); for (i=0;i<n-1;i++) { p=i; for (j=i+1;j<n;j++) if (a[p]>a[j]) p=j; if (p!=j) { t=a[p];a[p]=a[i];

#include int findmax(int* q){ int i; int fmax =q[0]; int order = 0; for (i=1;i { if(q[i]>fmax){ fmax = q[i]; order = i; } } return order;}int findmin(int* q){ int i,j,k; int order = findmax(q); int

#include<stdio.h> #include<stdlib.h> #define N 8 void select_sort(int a[],int n); //选择排序实现 void select_sort(int a[],int n)//n为数组a的元素个数 { //进行N-1轮选择 for(int i=0; i<n-1; i++) { int min_index = i; //找出第i小的数所在的位置 for(int j=i

选择排序的原理是,每次从待排序数字中挑选出最大(最小)数字,放在有序序列的末尾.实际操作中,只需要在这个数组中将挑出来的数字与前面的数字交换即可. 例如: 4 1 5 2 3 找到最小的1,1和4交换 1 4 5 2 3 找到最小的2,2和4交换 1 2 5

#include "stdio.h" void main() { void sort(int array[],int n); int c[10]; int num; int i; scanf("%d",&num); for(i=0;iarray[y+1]) { mai=array[y]; array[y]=array[y+1]; array[y+1]=mai; } } }

1、可以用++i(i是一个变量). 2、排列应该用的栈,再输入时计算栈指针的一定次数.输入完以后按enter时保存这个数.在输出时输出这个数. 选哪个的看你程序就提要求.

knrt.net | lyxs.net | bfym.net | btcq.net | yydg.net | 网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com