sytn.net
当前位置:首页 >> C语言一维数组排序 >>

C语言一维数组排序

int a[100]; int i,j;//Easy bubble sort for(i=0; i<99; ++i) { for(j=i+1; j<100; ++j) { if(a[i]<a[j]) { //swap a[i] and a[j] a[i]^=a[j]; a[j]^=a[i]; a[i]^=a[j]; } } }使用算法:冒泡排序+Xor数值对调

应该是因为输出的时候最后一个数字之后不需要空格,输出函数改为如下:void PrintArr(int a[], int n) { int m; printf("%d", a[0]); for(m=1 ; m<n ; m++) printf(" %d",a[m]); printf("\n"); } 另外数组的定义大小不能为变量,将int a[n];改为int a[20];

方法1:比较笨的办法是先排好.再在里面找.看是原来的第几个. 方法2:有一个很快的方法,就是用快速排序排, #include "stdio.h"// void main(void){ int a[6]={8,5,2,7,9,4},b[6],c[6],i,j,x; for(i=0;i printf("%d ",b[i]=a[i]); printf("\n"); for(i=0;

冒泡排序法:#include<stdio.h> void main() { int a[5]={5,4,3,2,9},i,k,temp; for(k=0;k<5;k++) {for(i=k+1;i<5;i++) if(a[k]<a[i]) {temp=a[k]; a[k]=a[i]; a[i]=temp; } printf(" %d",a[k]); } getch(); } 以下是各种基本排序的算法,有时间可以看看 选择排序:

void fun(int *num) { int temp; for(int i=0; i<10; ++i) for(int j=0; j<10-i-1; ++j) { if(num[j]<num[j+1]) { temp=num[j]; num[j]=num[j+1]; num[j+1]=temp; } } } 这个是冒泡排序,你参考下

/*我举个简单例子,一个一维数组int a[5]={3, 8, 4, 7, 6} 按降序排列以后是int b[5]={8, 7, 6, 4, 3} 最大的元素8在原来的数组中是第二位,7是第四位,等等 得到一个表示原来位置的数组int c[5]={2, 4, 5, 3, 1}*/#include void main() { int i,j,k=0; int a[5]={

对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];

额,你要那一种排序,我写了几个简单的排序效率不高,O(n^2)1.插入法#include<stdio.h>#include<stdlib.h>#define MAX 32767int a[MAX];void swap(int &a,int &b){ int t=a; a=b; b=t;}void InsertSort(int n){ for(int i=1;i<n;i++) { for(int j=i;j>0&&a[j]<a[j-

for(i=0;i<5;i++) { scanf("%d",&a[i]); //数据还没输完下面就已经排序了.. min=i; for(j=i+1;j<6;j++) { if(a[min]>a[j])min=j; t=a[i]; a[i]=a[min]; a[min]=t; } } 程序改成:#include <stdio.h> void main() { int a[5],i,j,t,k,min; printf("please input 5 num!\n"

#include <stdio.h> #include<stdlib.h>void main(){int a[50],b[50]; // 学号数值不可超出最大允许整数int i,j,tmp;// 依次 输入学号和成绩printf("please input 50 student_number and mark\n");for (i=0;i<50;i++){printf("Student %d: ",i+1);scanf("%d

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