//
// main.c
// 数组排序与二维数组
//
// Created by zhangxueming on 15/6/1.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
//
#include <stdio.h>
//冒泡排序(从小到大)
//9 7 8 5 3 --> 3 5 7 8 9
//第一次排序
//7 9 8 5 3
//7 8 9 5 3
//7 8 5 9 3
//7 8 5 3 9
//第二次排序
//7 8 5 3 9
//7 5 8 3 9
//7 5 3 8 9
//第三次排序
//5 7 3 8 9
//5 3 7 8 9
//第四次排序
//3 5 7 8 9
#define LEN 5
//int main(int argc, const char * argv[]) {
// int a[LEN]={};
// //输入数组
// for (int i=0; i<LEN; i++) {
// scanf("%d", &a[i]);
// }
// //冒泡排序
// for (int i=0; i<LEN-1; i++) {
// for (int j=0; j<LEN-i-1; j++) {
// if (a[j]>a[j+1]) {
// int temp= a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// //遍历输出
// for (int i=0; i<LEN; i++) {
// printf("%d ", a[i]);
// }
// printf("\n");
// return 0;
//}
//选择排序
//9 7 8 5 3 k=4 a[k] a[i]
//第一次排序
//3 7 8 5 9
//第二次排序
//3 5 8 7 9
//第三次排序
//3 5 7 8 9
//第四次排序
//3 5 7 8 9
//int main(int argc, const char *argv[])
//{
// int a[LEN]={};
// //输入数组
// for (int i=0; i<LEN; i++) {
// scanf("%d", &a[i]);
// }
// //选择排序
// for (int i=0; i<LEN-1; i++) {
// int k=i;//记录最小值下标
// for (int j=i+1; j<LEN; j++) {
// if (a[k]>a[j]) {
// k=j;
// }
// }
// if (k!=i) {
// int temp = a[k];
// a[k]=a[i];
// a[i]=temp;
// }
// }
// //输出数组
// for (int i=0; i<LEN; i++) {
// printf("%d ", a[i]) ;
// }
// printf("\n");
// return 0;
//}
//插入排序
//9 7 8 5 3 int temp = 7;
//第一次排序
//9 9 8 5 3
//7 9 8 5 3
//第二次排序 temp = 8;
//7 9 9 5 3
//7 8 9 5 3
//第三次排序 temp = 5;
//7 8 9 9 3
//7 8 8 9 3
//7 7 8 9 3
//5 7 8 9 3
//第四次排序 temp = 3;
//5 7 8 9 9
//5 7 8 8 9
//5 7 7 8 9
//5 5 7 8 9
//3 5 7 8 9
//int main(int argc,const char *argv[])
//{
// int a[LEN]={};
// for (int i=0; i<LEN; i++) {
// scanf("%d", &a[i]);
// }
// //插入排序
// for (int i=0; i<LEN-1; i++) {
// int temp = a[i+1];
// int j=i;
// //控制移位
// while (a[j]>temp && j>=0) {
// a[j+1]=a[j];
// j--;
// }
// //插入元素
// a[j+1]=temp;
// }
// for (int i=0; i<LEN; i++) {
// printf("%d ", a[i]);
// }
// printf("\n");
//
// return 0;
//}
//int a[5]
//int a[3][4][5]
//二维数组:由一维数组作为元素构成的一维数组
//int a[3][4];
//a[0] a[1] a[2] 是由4个int类型元素构成的数组
//二维数组的初始化
//int main(int argc,const char *argv[])
//{
// int a[3][2]={1,[2][0]=3,4};
// for (int i=0; i<3; i++) {
// for (int j=0; j<2; j++) {
// printf("%d ", a[i][j]);
// }
// printf("\n");
// }
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// int a[3][4]={{1,2,3,4},
// { 5,6,7,8},
// { 9,10,11,12}};
//
// for (int i=0; i<3; i++) {
// for (int j=0; j<4; j++) {
// printf("%4d", a[i][j]);
// }
// printf("\n");
// }
// return 0;
//}
//1
//1 1
//1 2 1
//1 3 3 1
//1 4 6 4 1
//1 5 10 10 5 1
int main(
int argc,
const char *
argv[])
{
int a[
10][
10]=
{};
for (
int i=
0; i<
10; i++
) {
for (
int j=
0; j<=i; j++
) {
if (j==
0 || j==
i) {
a[i][j]=
1;
}
else
{
a[i][j]=a[i-
1][j]+a[i-
1][j-
1];
}
}
}
for (
int i=
0; i<
10; i++
) {
for (
int j=
0; j<=i; j++
) {
printf("%4d", a[i][j]);
}
printf("\n");
}
return 0;
}
转载于:https://www.cnblogs.com/0515offer/p/4544480.html
相关资源:二维数组的四种排序(绝对经典)
转载请注明原文地址: https://win8.8miu.com/read-1541504.html