1. 整理思维导图
2. 写一个函数,获取用户的uid和gid并使用变量接收
#!/bin/bash
function getid()
{
uid=`id -u`
gid=`id -g`
}
getid
echo "uid=$uid"
echo "gid=$gid"
3. 整理冒泡排序、选择排序和快速排序的代码
#include <myhead.h>
void Input(int *p,int len)
{
for(int i=0;i<len;i++)
{
printf("请输入第%d个元素:",i+1);
scanf("%d",p+i);
}
}
void Output(int *p,int len)
{
for(int i=0;i<len;i++)
{
printf("%d\t",*(p+i));
}
putchar(10);
}
//选择排序
void Seletion_Sort(int *p,int len)
{
int min,t;
for(int i=0;i<len-1;i++)
{
min=i;
for(int j=i+1;j<len;j++)
{
if(*(p+min)>*(p+j))
{
min=j;
}
}
if(min!=i)
{
t=*(p+min);
*(p+min)=*(p+i);
*(p+i)=t;
}
}
}
//冒泡排序
void Bubble_Sort(int *p,int len)
{
int temp,count;
for(int i=0;i<len-1;i++)
{
count=0;
for(int j=0;j<len-1-i;j++)
{
if(*(p+j)>*(p+j+1))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
count++;
}
}
if(count==0) break;
}
}
//快速排序
int one_quick(int arr[],int low,int high)
{
int key = arr[low]; //确定分界值
while(low<high)
{
while(low<high && key<=arr[high])
{
high--;
}
arr[low]=arr[high]; //表示key>arr[high]
while(low<high && key>=arr[low])
{
low++;
}
arr[high]=arr[low];
}
arr[low]=key; //low=high
return low;
}
void quick_sort(int arr[],int low,int high)
{
//low>high:表示没有元素
//low=high:表示只有一个元素
if(low>=high) return;
int mid=one_quick(arr,low,high); //一轮排序
quick_sort(arr,low,mid-1); //递归左边排序
quick_sort(arr,mid+1,high); //递归右边排序
}
int main(int argc, const char *argv[])
{
// int a[]={66,66,99,88,33,22,44,55};
// int len=sizeof(arr)/sizeof(arr[0]);
int len;
printf("请输入元素的个数:");
scanf("%d",&len);
int a[len];
Input(a,len);
// 冒泡排序
// Bubble_Sort(a,len);
// 快速排序
// Seletion_Sort(a,len);
// 快速排序
quick_sort(a,0,len-1);
Output(a,len);
return 0;
}